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

来源:互联网 发布:mysql not in用法 编辑:程序博客网 时间:2024/05/21 10:05

*改变数组元素值

>>> x=np.arange(8)>>> xarray([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])>>> xarray([0, 1, 2, 3, 4, 5, 6, 7])>>> x[3]=8>>> xarray([0, 1, 2, 8, 4, 5, 6, 7])>>> np.insert(x,1,8)array([0, 8, 1, 2, 8, 4, 5, 6, 7])>>> xarray([0, 1, 2, 8, 4, 5, 6, 7])

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

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


*数组与数值的运算

>>> x=np.array((1,2,3,4,5))>>> xarray([1, 2, 3, 4, 5])>>> x*2array([ 2,  4,  6,  8, 10])>>> x/2array([ 0.5,  1. ,  1.5,  2. ,  2.5])>>> x//2array([0, 1, 1, 2, 2], dtype=int32)>>> x**3array([  1,   8,  27,  64, 125], dtype=int32)>>> x+2array([3, 4, 5, 6, 7])>>> x%3array([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>>> carray([[ 1,  4,  9],       [ 4, 10, 18],       [ 7, 16, 27]])>>> c/barray([[ 1.,  2.,  3.],       [ 1.,  2.,  3.],       [ 1.,  2.,  3.]])>>> c/aarray([[ 1.,  2.,  3.],       [ 4.,  5.,  6.],       [ 7.,  8.,  9.]])
>>> a+aarray([2, 4, 6])>>> a*aarray([1, 4, 9])>>> a-aarray([0, 0, 0])>>> a/aarray([ 1.,  1.,  1.])>>> a+barray([[ 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]))>>> barray([[1, 2, 3],       [4, 5, 6],       [7, 8, 9]])>>> b.Tarray([[1, 4, 7],       [2, 5, 8],       [3, 6, 9]])
一维数组的转置结果是不变的。









原创粉丝点击