Numpy之sum函数用法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38237214/article/details/77003629

文档原文在这:
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.sum.html


numpy.sum用法如下:

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)

求一个数组中给定轴上的元素的总和。

参数如下:

aarray_like 类型

待求和的数组。

axis :可选择Noneint类型 或 整型的tuple类型

在选定的轴上执行求和。如果是默认值(axis=None),就会在所有的轴上执行求和。axis可以是负数,负数的话就代表倒着数的意思,和列表索引访问差不多(N表示第N个,-N表示倒数第N个(没有倒数第0个))。

在新版本1.7.0中,如果axis是一个整型的元组类型,则在多个轴上执行求和,而不是在单个轴上执行求和了。

dtypedtype 类型,可选的

返回值的类型(array类型或者是array内元素累加后的类型),默认情况下是参数a的类型。

有个例外是,当参数a的一个整型类型的精度低于默认的平台整数(platform integer)时,就会使用默认的平台整数。(在下不才,不知这里的platform integer是什么意思)

下面两个参数暂时不常用,懒得翻译了 =.=。

outndarray 类型,可选的

Array into which the output is placed. By default, a new array is created. If out is given, it must be of the appropriate shape (the shape of a with axis removed, i.e., numpy.delete(a.shape, axis)). Its type is preserved. See doc.ufuncs (Section “Output arguments”) for more details.

keepdimsbool 类型,可选的

If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the original arr.

函数返回:

sum_along_axisndarray

返回和a相同shape的数组,不过要删除掉参数axis指定的轴。

如果a是一个0维数组,或者axis是默认值None,则返回一个标量。

如果指定了一个输出数组,则返回对out的引用 。

注意:
当使用整数类型时算法是模块化的,所以溢出时不会出现错误。
空数组的和是中性元素0

>>> np.sum([])
0.0

举例如下:

>>> 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.ones(128, dtype=np.int8).sum(dtype=np.int8)
-128
展开阅读全文

没有更多推荐了,返回首页