用法:
dask.array.sum(a, axis=None, dtype=None, keepdims=False, split_every=None, out=None)
给定轴上的数组元素之和。
此文档字符串是从 numpy.sum 复制的。
可能存在与 Dask 版本的一些不一致之处。
- a:array_like
要总结的元素。
- axis:无或整数或整数元组,可选
沿其执行求和的轴。默认值,axis=None,将对输入数组的所有元素求和。如果轴为负数,则从最后一个轴计数到第一个轴。
如果axis是整数元组,则对元组中指定的所有轴执行求和,而不是像以前那样对单个轴或所有轴执行求和。
- dtype:dtype,可选
返回数组的类型和元素相加的累加器的类型。默认情况下使用
a
的dtype,除非a
的整数dtype 的精度低于默认平台整数。在这种情况下,如果a
有符号则使用平台整数,而如果a
无符号则使用与平台整数具有相同精度的无符号整数。- out:ndarray,可选
用于放置结果的替代输出数组。它必须具有与预期输出相同的形状,但如果需要,输出值的类型将被强制转换。
- keepdims:布尔型,可选
如果将其设置为 True,则缩小的轴将作为尺寸为 1 的尺寸留在结果中。使用此选项,结果将针对输入数组正确广播。
如果传递了默认值,那么
keepdims
将不会传递给ndarray
的子类的sum
方法,但是任何非默认值都会传递。如果 sub-class' 方法未实现keepdims
,则将引发任何异常。- initial:标量,可选(Dask 中不支持)
总和的起始值。有关详细信息,请参阅
~numpy.ufunc.reduce
。- where:数组 of bool,可选(在 Dask 中不支持)
要包含在总和中的元素。有关详细信息,请参阅
~numpy.ufunc.reduce
。
- sum_along_axis:ndarray
与
a
具有相同形状的数组,已删除指定的轴。如果a
是一个 0 维数组,或者如果axis
是 None,则返回一个标量。如果指定了输出数组,则返回对out
的引用。
参数:
返回:
注意:
使用整数类型时算术是模块化的,溢出时不会引发错误。
空数组的和是中性元素 0:
>>> np.sum([]) 0.0
对于浮点数, sum (和
np.add.reduce
)的数值精度通常受到直接将每个数字单独添加到结果中的限制,从而导致每一步的舍入误差。但是,numpy 通常会使用数值更好的方法(部分成对求和),从而提高许多use-cases 的精度。当没有给出axis
时,总是会提供这种改进的精度。当给定axis
时,将取决于对哪个轴求和。从技术上讲,为了提供可能的最佳速度,仅当求和沿内存中的快轴时才使用改进的精度。请注意,确切的精度可能会因其他参数而异。与 NumPy 相比,Python 的math.fsum
函数使用更慢但更精确的求和方法。尤其是在对大量较低精度的浮点数求和时,例如float32
,数值错误会变得很严重。在这种情况下,建议使用dtype=”float64”
以使用更高的输出精度。例子:
>>> np.sum([0.5, 1.5]) 2.0 >>> np.sum([0.5, 0.7, 0.2, 1.5], dtype=np.int32) 1 >>> np.sum([[0, 1], [0, 5]]) 6 >>> np.sum([[0, 1], [0, 5]], axis=0) array([0, 6]) >>> np.sum([[0, 1], [0, 5]], axis=1) array([1, 5]) >>> np.sum([[0, 1], [np.nan, 5]], where=[False, True], axis=1) array([1., 5.])
如果累加器太小,就会发生溢出:
>>> np.ones(128, dtype=np.int8).sum(dtype=np.int8) -128
您还可以使用非零值开始求和:
>>> np.sum([10], initial=5) 15
相关用法
- Python dask.array.subtract用法及代码示例
- Python dask.array.stats.ttest_ind用法及代码示例
- Python dask.array.stats.ttest_rel用法及代码示例
- Python dask.array.square用法及代码示例
- Python dask.array.sinc用法及代码示例
- Python dask.array.searchsorted用法及代码示例
- Python dask.array.stats.chisquare用法及代码示例
- Python dask.array.stats.kurtosistest用法及代码示例
- Python dask.array.squeeze用法及代码示例
- Python dask.array.stats.moment用法及代码示例
- Python dask.array.stats.power_divergence用法及代码示例
- Python dask.array.signbit用法及代码示例
- Python dask.array.store用法及代码示例
- Python dask.array.stats.f_oneway用法及代码示例
- Python dask.array.sign用法及代码示例
- Python dask.array.stats.kurtosis用法及代码示例
- Python dask.array.sinh用法及代码示例
- Python dask.array.std用法及代码示例
- Python dask.array.sin用法及代码示例
- Python dask.array.stats.skew用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.sum。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。