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数组当成一个一维数组
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)