您的位置:首页 > 编程语言 > Python开发

【python学习笔记】16:numpy数组四则运算

2017-07-20 14:42 671 查看
*改变数组元素值

>>> x=np.arange(8)
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> np.append(x,8)
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> np.append(x,[9,10])
array([ 0,  1,  2,  3,  4,  5,  6,  7,  9, 10])
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> x[3]=8
>>> x
array([0, 1, 2, 8, 4, 5, 6, 7])
>>> np.insert(x,1,8)
array([0, 8, 1, 2, 8, 4, 5, 6, 7])
>>> x
array([0, 1, 2, 8, 4, 5, 6, 7])


append尾加和insert插入都不修改原数组的内容,而是生成新的数组。

>>> y=np.arange(4)
>>> y
array([0, 1, 2, 3])
>>> y.repeat(3)
array([0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3])
>>> y.put(0,9)
>>> y
array([9, 1, 2, 3])
repeat将数组元素重复(不修改原数组),put可以修改数组中某个位置的值。

*数组与数值的运算

>>> x=np.array((1,2,3,4,5))
>>> x
array([1, 2, 3, 4, 5])
>>> x*2
array([ 2,  4,  6,  8, 10])
>>> x/2
array([ 0.5,  1. ,  1.5,  2. ,  2.5])
>>> x//2
array([0, 1, 1, 2, 2], dtype=int32)
>>> x**3
array([  1,   8,  27,  64, 125], dtype=int32)
>>> x+2
array([3, 4, 5, 6, 7])
>>> x%3
array([1, 2, 0, 1, 2], dtype=int32)


*数组与数组的运算

>>> a=np.array((1,2,3))
>>> b=np.array(([1,2,3],[4,5,6],[7,8,9]))
>>> c=a*b
>>> c
array([[ 1,  4,  9],
[ 4, 10, 18],
[ 7, 16, 27]])
>>> c/b
array([[ 1.,  2.,  3.],
[ 1.,  2.,  3.],
[ 1.,  2.,  3.]])
>>> c/a
array([[ 1.,  2.,  3.],
[ 4.,  5.,  6.],
[ 7.,  8.,  9.]])
>>> a+a
array([2, 4, 6])
>>> a*a
array([1, 4, 9])
>>> a-a
array([0, 0, 0])
>>> a/a
array([ 1.,  1.,  1.])
>>> a+b
array([[ 2,  4,  6],
[ 5,  7,  9],
[ 8, 10, 12]])
这里的a+b要像a*b那样作用到每一个子list中去。

*转置(行列互换)

>>> b=np.array(([1,2,3],[4,5,6],[7,8,9]))
>>> b
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> b.T
array([[1, 4, 7],
[2, 5, 8],
[3, 6, 9]])
一维数组的转置结果是不变的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: