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仅在必要时指定轴。默认情况下,计算整个数组的平均值是最快的操作,但根据数据,沿特定轴计算平均值可能会更慢。
广告