sum()
函数用于计算数组元素沿指定轴或跨所有轴的总和。
示例
import numpy as np
array1 = np.array([1, 2, 3, 4, 5])
# use sum() to calculate sum of array1 elements
result = np.sum(array1)
print(result)
# Output : 15
sum() 语法
sum()
的语法是
numpy.sum(array, axis=None, dtype=None, out=None, keepdims=<no value>)
sum() 参数
sum()
函数接受以下参数
array
- 输入数组axis
(可选) - 计算总和的轴dtype
(可选) - 返回的总和的数据类型out
(可选) - 用于存储结果的输出数组keepdims
(可选) - 是否保留输入数组的维度 (bool
)
sum() 返回值
sum()
函数返回数组元素的总和
示例 1:带 2-D 数组的 sum()
axis
参数定义了如何找到 2-D 数组中元素的总和。
- 如果
axis
=None
,则数组被展平,并返回展平数组的总和。 - 如果
axis
= 0,则按列计算总和。 - 如果
axis
= 1,则按行计算总和。
import numpy as np
array = np.array([[10, 17, 25],
[15, 11, 22]])
# return the sum of elements of the flattened array
result1 = np.sum(array)
print('The sum of flattened array: ', result1)
# return the column-wise sum
result2 = np.sum(array, axis = 0)
print('Column-wise sum (axis 0): ', result2)
# return the row-wise sum
result2 = np.sum(array, axis = 1)
print('Row-wise sum (axis 1): ', result2)
输出
The sum of flattened array: 100 Column-wise sum (axis 0): [25 28 47] Row-wise sum (axis 1): [52 48]
示例 2:使用 out 将结果存储在所需位置
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22],
[11, 19, 20]])
# create an empty array
array2= np.array([0, 0, 0])
# pass the 'out' argument to store the result in array2
np.sum(array1, axis = 0, out = array2)
print(array2)
输出
[36 47 67]
在这里,指定 out=array2
后,array1 沿 axis=0
的总和结果存储在 array2 数组中。
示例 3:带 keepdims 的 sum()
当 keepdims = True
时,结果数组的维度与输入数组的维度匹配。
import numpy as np
array1 = np.array([[10, 17, 25],
[15, 11, 22]])
print('Dimensions of original array: ', array1.ndim)
result = np.sum(array1, axis = 1)
print('\n Without keepdims: \n', result)
print('Dimensions of array: ', result.ndim)
# set keepdims to True to retain the dimension of the input array
result = np.sum(array1, axis = 1, keepdims = True)
print('\n With keepdims: \n', result)
print('Dimensions of array: ', result.ndim)
输出
Dimensions of original array: 2 Without keepdims: [52 48] Dimensions of array: 1 With keepdims: [[52] [48]] Dimensions of array: 2
如果不使用 keepdims
,结果只是一个包含索引的一维数组。
使用 keepdims
时,结果数组具有与输入数组相同的维度数。