- NumPy 教程
- NumPy - 首页
- NumPy - 简介
- NumPy - 环境配置
- NumPy 数组
- NumPy - Ndarray 对象
- NumPy - 数据类型
- NumPy 数组的创建和操作
- NumPy - 数组创建函数
- NumPy - 数组操作
- NumPy - 从现有数据创建数组
- NumPy - 从数值范围创建数组
- NumPy - 数组迭代
- NumPy - 数组重塑
- NumPy - 数组拼接
- NumPy - 数组堆叠
- NumPy - 数组分割
- NumPy - 数组扁平化
- NumPy - 数组转置
- NumPy 索引和切片
- NumPy - 索引和切片
- NumPy - 高级索引
- NumPy 数组属性和操作
- NumPy - 数组属性
- NumPy - 数组形状
- NumPy - 数组大小
- NumPy - 数组步长
- NumPy - 数组元素大小
- NumPy - 广播机制
- NumPy - 算术运算
- NumPy - 数组加法
- NumPy - 数组减法
- NumPy - 数组乘法
- NumPy - 数组除法
- NumPy 高级数组运算
- NumPy - 交换数组轴
- NumPy - 字节交换
- NumPy - 复制和视图
- NumPy - 元素级数组比较
- NumPy - 数组过滤
- NumPy - 数组连接
- NumPy - 排序、搜索和计数函数
- NumPy - 数组搜索
- NumPy - 数组并集
- NumPy - 查找唯一行
- NumPy - 创建日期时间数组
- NumPy - 二元运算符
- NumPy - 字符串函数
- NumPy - 数学函数
- NumPy - 统计函数
- NumPy - 矩阵库
- NumPy - 线性代数
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 绘制直方图
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高级操作
- NumPy - 数组排序
- NumPy - 沿指定轴排序
- NumPy - 使用花式索引排序
- NumPy - 结构化数组
- NumPy - 创建结构化数组
- NumPy - 操作结构化数组
- NumPy - 字段访问
- NumPy - 记录数组
- Numpy - 加载数组
- Numpy - 保存数组
- NumPy - 向数组追加值
- NumPy - 交换数组列
- NumPy - 向数组插入轴
- NumPy 处理缺失数据
- NumPy - 处理缺失数据
- NumPy - 识别缺失值
- NumPy - 删除缺失数据
- NumPy - 缺失数据插补
- NumPy 性能优化
- NumPy - 使用数组进行性能优化
- NumPy - 使用数组进行矢量化
- NumPy - 数组的内存布局
- Numpy 线性代数
- NumPy - 线性代数
- NumPy - 矩阵库
- NumPy - 矩阵加法
- NumPy - 矩阵减法
- NumPy - 矩阵乘法
- NumPy - 元素级矩阵运算
- NumPy - 点积
- NumPy - 矩阵求逆
- NumPy - 行列式计算
- NumPy - 特征值
- NumPy - 特征向量
- NumPy - 奇异值分解
- NumPy - 求解线性方程组
- NumPy - 矩阵范数
- NumPy 元素级矩阵运算
- NumPy - 求和
- NumPy - 平均值
- NumPy - 中位数
- NumPy - 最小值
- NumPy - 最大值
- NumPy 集合运算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 并集
- NumPy - 差集
- NumPy 有用资源
- NumPy 编译器
- NumPy - 快速指南
- NumPy - 有用资源
- NumPy - 讨论
NumPy - 求和
什么是求和?
在数学中,求和是将两个或多个数字加在一起的结果。例如,2 和 3 的和是 5。
它通常用加号 (+) 表示。求和也可以包括对数字序列进行求和,通常使用希腊字母 sigma (Σ) 来表示该运算。
NumPy 的 sum() 函数
NumPy 中的 sum() 函数计算沿指定轴的数组元素的和,提供灵活地在行、列或整个数组上进行求和。
以下是 NumPy 中 sum() 函数的基本语法:
numpy.sum(a, axis=None, dtype=None, out=None, keepdims=False)
其中:
- a: 包含要相加元素的输入数组。
- axis: 要沿其求和的轴。如果为 None,则对数组的所有元素求和。对于多维数组,您可以指定一个轴(0 代表行,1 代表列,等等)。
- dtype: 用于求和的数据类型。如果未指定,则默认为数组的数据类型。
- out: 将结果存储到的位置。如果提供,则其形状和类型必须与输入数组相同。
- keepdims: 如果为 True,则将约简的轴保留在结果中,作为大小为一的维度。这对于广播很有用。
求一维数组所有元素的和
如果您有一个一维数组,可以使用 numpy.sum() 函数计算其所有元素的和。以下是一个例子:
import numpy as np # Define a 1D array arr = np.array([1, 2, 3, 4, 5]) # Calculate the sum of all elements total_sum = np.sum(arr) print("Total sum of the array:", total_sum)
以下是获得的输出:
Total sum of the array: 15
在二维数组中沿特定轴求和
在二维数组中,您可以沿特定轴计算和。例如,沿行或列求和:
import numpy as np # Define a 2D array arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Sum along rows (axis=1) sum_rows = np.sum(arr_2d, axis=1) # Sum along columns (axis=0) sum_columns = np.sum(arr_2d, axis=0) print("Sum along rows:", sum_rows) print("Sum along columns:", sum_columns)
以下是获得的输出:
Sum along rows: [ 6 15 24] Sum along columns: [12 15 18]
使用指定的数据类型求和
您还可以指定要计算和的数据类型。这在处理大数字或需要特定精度(例如 float64)的结果时尤其有用。这是一个例子:
import numpy as np # Define an array of integers arr_int = np.array([10, 20, 30]) # Calculate the sum with a specified data type (float64) sum_float = np.sum(arr_int, dtype=np.float64) print("Sum with dtype float64:", sum_float)
以下是获得的输出:
Sum with dtype float64: 60.0
使用“keepdims”参数求和
keepdims 参数有助于在求和运算后保留原始数组的维数。如果设置为 True,则结果将与输入数组具有相同的维数,但求和轴的大小将减小为一。
import numpy as np # Define a 2D array arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Sum along columns while keeping dimensions sum_keepdims = np.sum(arr_2d, axis=0, keepdims=True) print("Sum with keepdims=True:", sum_keepdims)
以下是获得的输出:
Sum with keepdims=True: [[12 15 18]]
NumPy 求和的应用
numpy.sum() 函数在科学计算、数据分析和机器学习中具有广泛的应用。一些常见的用例包括:
- 对矩阵中的行或列求和:在数据科学中,您经常需要沿特定轴计算和,以汇总表或矩阵中的数据。
- 计算数组中的总值:对数组中的元素求和可以帮助进行财务分析、统计和科学计算,例如计算测量的总和或数量。
- 数据聚合:在分析数据时,对值求和可以是聚合操作的一部分,例如查找总销售额或计算某些数据点的累积和。
- 特征缩放:在机器学习中,特征的总和通常用于数据标准化或缩放,以调整特征的范围。
优化求和计算
NumPy 针对快速的数组运算进行了优化,numpy.sum() 函数效率很高。但是,有一些方法可以进一步优化您的求和计算:
- 使用 out 参数:如果您想将和的结果存储在预先存在的数组中,可以使用 out 参数,这避免了创建新数组并有助于节省内存。
- 明智地使用 axis:仅在必要时指定轴。默认情况下,对整个数组求和是最快的操作,但是根据数据,沿特定轴求和可能会慢一些。
广告