numpy.cumsum#
- numpy.cumsum(a, axis=None, dtype=None, out=None)[源代码]#
返回沿给定轴的元素的累积和.
- 参数:
- 返回:
- cumsum_along_axisndarray.
除非指定了 out ,否则将返回一个包含结果的新数组,在这种情况下,将返回对 out 的引用.如果 axis 不是 None 或 a 是一个 1-D 数组,则结果与 a 具有相同的大小以及与 a 相同的形状.
参见
cumulative_sum与
cumsum兼容的 Array API 替代方法.sum对数组元素求和.
trapezoid使用复合梯形法则对数组值进行积分.
diff计算沿给定轴的 n 阶离散差分.
注释
使用整数类型时,算术是模运算,并且在溢出时不会引发错误.
对于浮点值,
cumsum(a)[-1]可能不等于sum(a),因为sum可能会使用成对求和程序,从而减少舍入误差.有关更多信息,请参见sum.示例
>>> import numpy as np >>> a = np.array([[1,2,3], [4,5,6]]) >>> a array([[1, 2, 3], [4, 5, 6]]) >>> np.cumsum(a) array([ 1, 3, 6, 10, 15, 21]) >>> np.cumsum(a, dtype=float) # specifies type of output value(s) array([ 1., 3., 6., 10., 15., 21.])
>>> np.cumsum(a,axis=0) # sum over rows for each of the 3 columns array([[1, 2, 3], [5, 7, 9]]) >>> np.cumsum(a,axis=1) # sum over columns for each of the 2 rows array([[ 1, 3, 6], [ 4, 9, 15]])
cumsum(b)[-1]可能不等于sum(b)>>> b = np.array([1, 2e-9, 3e-9] * 1000000) >>> b.cumsum()[-1] 1000000.0050045159 >>> b.sum() 1000000.0050000029