NumPy sum()

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 时,结果数组具有与输入数组相同的维度数。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战