- 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 - 平均值
什么是平均值?
在数学中,平均值是一组数字的平均值。最常见的是算术平均值,它是数字的总和除以数字的个数。
其他类型包括几何平均值(数字乘积的 n 次方根)和调和平均值(值的数量除以倒数的总和)。
这些不同的平均值根据数据的性质和分析的具体需求来使用。
NumPy mean() 函数
NumPy 中的 mean() 函数计算数组中元素的算术平均值(平均值)。默认情况下,它计算所有元素的平均值,但您可以指定一个轴来沿行或列计算平均值。
它还可以处理不同的数据类型并允许您定义输出类型。例如,np.mean([1, 2, 3, 4]) 返回 2.5。
以下是 NumPy 中 mean() 函数的基本语法:
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=False)
其中,
- a: 包含要计算平均值的元素的输入数组。
- axis: 计算平均值的轴。如果为None,则计算数组中所有元素的平均值。对于多维数组,您可以指定一个轴(0 表示行,1 表示列,依此类推)。
- dtype: 用于计算平均值的数据类型。如果未指定,则默认为输入数组的数据类型。
- out: 结果将存储到的位置。如果提供,它必须与预期输出具有相同的形状和类型。
- keepdims: 如果为True,则将缩减的轴保留在结果中作为大小为一的维度。这对于广播很有用。
计算一维数组的平均值
如果您有一个一维数组,您可以使用numpy.mean()函数来计算其元素的平均值。这是一个例子:
import numpy as np # Define a 1D array arr = np.array([1, 2, 3, 4, 5]) # Calculate the mean of all elements mean_value = np.mean(arr) print("Mean of the array:", mean_value)
以下是获得的输出:
Mean of the array: 3.0
沿二维数组的特定轴计算平均值
在二维数组中,您可以沿特定轴计算平均值。例如,计算沿行或列的平均值:
import numpy as np # Define a 2D array arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Mean along rows (axis=1) mean_rows = np.mean(arr_2d, axis=1) # Mean along columns (axis=0) mean_columns = np.mean(arr_2d, axis=0) print("Mean along rows:", mean_rows) print("Mean along columns:", mean_columns)
以下是获得的输出:
Mean along rows: [2. 5. 8.] Mean along columns: [4. 5. 6.]
使用指定的数据类型计算平均值
您还可以指定要计算平均值的数据类型。当处理大数字或需要特定精度(例如 float64)的结果时,这尤其有用。这是一个例子:
import numpy as np # Define an array of integers arr_int = np.array([10, 20, 30]) # Calculate the mean with a specified data type (float64) mean_float = np.mean(arr_int, dtype=np.float64) print("Mean with dtype float64:", mean_float)
以下是获得的输出:
Mean with dtype float64: 20.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]]) # Mean along columns while keeping dimensions mean_keepdims = np.mean(arr_2d, axis=0, keepdims=True) print("Mean with keepdims=True:", mean_keepdims)
以下是获得的输出:
Mean with keepdims=True: [[4. 5. 6.]]
NumPy 平均值的应用
numpy.mean()函数在科学计算、数据分析和机器学习中有着广泛的应用。一些常见的用例是:
- 计算数据集中的平均值:平均值提供数据集的中心值,这在统计和数据分析中至关重要,以了解数据分布。
- 特征缩放:在机器学习中,计算特征的平均值有助于归一化和标准化,确保每个特征对模型的贡献相同。
- 财务分析:计算财务数据的平均值,例如股票价格或销售额,有助于识别趋势并做出明智的决策。
- 科学测量:平均值用于科学研究以总结实验数据,提供中心趋势的度量。
优化平均值计算
NumPy 针对快速数组操作进行了优化,numpy.mean()函数效率很高。但是,有一些方法可以进一步优化您的平均值计算:
- 使用out参数:如果您想将平均值的结果存储在一个预先存在的数组中,您可以使用out参数,这避免了创建新数组并有助于节省内存。
- 明智地使用axis:仅在必要时指定轴。默认情况下,计算整个数组的平均值是最快的操作,但根据数据,沿特定轴计算平均值可能会更慢。
广告