ny.cumsum()和np.add.at()

np.add.at()是将传入的数组中制定下标位置的元素加上指定的值.
将x中下标为0和为2的元素加上了3,这会改变传入的数组x,如下:

 

>>> x=np.array([1,2,3,4])
>>> np.add.at(x,[0,2],3)
>>> x
array([4, 2, 6, 4])

 

 

numpy.cumsum(a, axis=None, dtype=None, out=None)  表示数组累积求和
axis=0,按照行累加。
axis=1,按照列累加。
axis不给定具体值,就把numpy数组当成一个一维数组
 
(1)不指定axis参数
>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> a.cumsum()
array([ 1,  3,  6, 10, 15, 21], dtype=int32)

可以看出,不指定axis参数时,把二维数组当作了一维数组处理,进行累计求和运算。

(2)指定参数axis=0

>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> np.cumsum(arr, axis=0)
array([[ 0,  1,  2],
       [ 3,  5,  7],
       [ 9, 12, 15]], dtype=int32)
>>>

(3)指定参数axis=1

>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> arr.cumsum(axis=1)
array([[ 0,  1,  3],
       [ 3,  7, 12],
       [ 6, 13, 21]], dtype=int32)

 




posted @ 2021-09-30 15:34  三奠茶  阅读(791)  评论(0)    收藏  举报