NumPy numpy.sum()的使用
numpy.sum()函数在Python的NumPy包中可用。该函数用于计算给定数组的所有元素的总和,每行的总和和每列的总和。
基本上,这个函数对数组的元素进行求和,将ndarray中的元素相加。还可以对数组的行和列元素进行求和。输出将以数组对象的形式呈现。
语法
numpy.sum()函数的语法如下:
numpy.sum(arr, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>)
参数
1) arr: array_like
这是一个ndarray。这是我们想要求和的源数组。这个参数是必要的,在numpy.sum()函数中起着至关重要的作用。
2) axis: int或者None或者int元组(可选)
这个参数定义了对哪个轴进行求和。默认轴为None,这将对数组的所有元素进行求和。当轴为负数时,它从最后一个轴开始计数。在1.7.0版本中,当轴是int元组时,将对所有指定的轴进行求和,而不是单个轴或者所有轴。
3) dtype: dtype(可选)
这个参数定义了累加器和返回的数组的类型,其中元素被求和。默认情况下,使用arr的dtype,除非arr的整数dtype比平台整数的默认精度小。在这种情况下,如果arr是有符号的,则使用平台整数;如果arr是无符号的,则使用与平台整数相同精度的无符号整数。
4) out: ndarray(可选)
这个参数定义了备用的输出数组,结果将被放置在其中。这个结果数组必须和预期输出具有相同的形状。当需要时,输出值的类型将被转换。
5) keepdims: bool(可选)
这个参数定义了一个布尔值。当将这个参数设置为True时,被缩减的轴在结果中仍然作为具有大小为1的维度。通过这个选项的帮助,结果在输入数组上将正确地进行广播。当传递默认值时,keepdims不会被传递到ndarray子类的sum方法中,但在非默认值情况下会被传递。如果子类方法没有实现keepdims,则可能会引发异常。
6) initial: 标量
这个参数定义了求和的起始值。
返回值
此函数返回一个与arr形状相同的数组,其中指定的轴已被移除。当arr为0-d数组或轴为None时,返回一个标量。当指定了数组输出时,返回对 out 的引用。
示例1:numpy.array()
import numpy as np
a=np.array([0.4,0.5])
b=np.sum(a)
b
输出:
0.9
在上面的代码中,
- 我们使用别名 ‘np’ 导入了 numpy 库。
- 我们使用 np.array() 函数创建了一个数组 ‘a’。
- 我们声明了变量 ‘b’ 并将 np.sum() 函数的返回值赋给它。
- 我们在函数中传入了数组 ‘a’。
- 最后,我们尝试打印变量 ‘b’ 的值。
输出中显示了数组所有元素的和。
示例2
import numpy as np
a=np.array([0.4,0.5,0.9,6.1])
x=np.sum(a, dtype=np.int32)
x
输出:
6
在上面的代码中
- 我们使用别名 ‘np’ 导入了numpy。
- 我们使用 np.array() 函数创建了一个数组 ‘a’。
- 我们声明了变量 ‘x’ 并将 np.sum() 函数的返回值赋值给了它。
- 我们在函数中传递了数组 ‘a’ 和 int32 类型的数据。
- 最后,我们尝试打印变量 ‘x’ 的值。
在输出中,只显示了整数值的总和,而不包括浮点数值。
示例3
import numpy as np
a=np.array([[1,4],[3,5]])
b=np.sum(a)
b
在上述代码中
输出:
13
示例4
import numpy as np
a=np.array([[1,4],[3,5]])
b=np.sum(a,axis=0)
b
在上面的代码中
- 我们通过别名np导入了numpy。
- 我们使用np.array()函数创建了一个数组’a’。
- 我们声明了变量’b’并赋予了np.sum()函数的返回值。
- 我们在函数中传递了数组’a’和axis=0。
- 最后,我们尝试打印变量b的值。
在输出中,列元素的和已经被相应地计算了。
输出:
array([4, 9])
示例5
import numpy as np
a=np.array([[1,4],[3,5]])
b=np.sum(a,axis=1)
b
输出:
array([5, 8])
示例6
import numpy as np
b=np.sum([15], initial=8)
b
输出:
23
在上面的代码中
- 我们使用别名np导入了numpy库。
- 我们声明了变量’b’并赋值为np.sum()函数的返回值。
- 我们在函数中传递了元素的数量和初始值。
- 最后,我们尝试打印b的值。
在输出中,初始值已添加到元素序列的最后一个元素上,然后对所有元素进行求和。