numpy.cumsum#
- numpy.cumsum(a, axis=None, dtype=None, out=None)[源代码]#
计算给定轴上元素的累积和。
- 参数:
- 返回:
- cumsum_along_axisndarray.
除非指定了 out,否则将返回一个包含结果的新数组,在这种情况下,将返回对 out 的引用。结果的大小与 a 相同,并且如果 axis 不为 None 或 a 是 1-d 数组,则形状与 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