Numpy加法函数np.sum()与np.cumsum()的区别
两者都是沿着轴对元素进行操作,np.sum()是直接整体或整行或整列求和,np.cumsum是每个元素都带有之前的累加值。下面举例说明。
#np.sum(a, axis=None, dtype=None, out=None)Sum of array elements over a given axis.
通过不同的axis,numpy会沿着不同的方向进行操作:如果不设置,那么对所有元素操作;如果axis=0,则沿着纵轴进行操作;如果axis=1,则沿着横轴进行操作。总之,设axis=i,则numpy沿着第i个下标变化的方向进行操作。
x = np.array([[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25]])
y = np.sum(x)
print(y)
270
y = np.sum(x,axis = 0)#对纵轴进行操作
print(y)
[48 51 54 57 60]
y = np.sum(x,axis = 1)#对横轴进行操作
print(y)
[ 65 90 115]
#np.cumsum(a, axis=None, dtype=None, out=None)Return the cumulative sum of the elements along a given axis.
返回沿给定轴的元素的累积和。
x = np.array([[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25]])
y = np.cumsum(x)
print(y)#一一累加
[ 11 23 36 50 65 81 98 116 135 155 176 198 221 245 270]
y = np.cumsum(x,axis =0)
print(y)#按列一一累加
[[11 12 13 14 15]
[27 29 31 33 35]
[48 51 54 57 60]]
y = np.cumsum(x,axis =1)
print(y)#按行一一累加
[[ 11 23 36 50 65]
[ 16 33 51 70 90]
[ 21 43 66 90 115]]