NumPy教程-numpy.mean()在Python中的使用
算术平均值是沿着轴的元素之和除以元素的数量。numpy.mean() 函数用于计算沿指定轴的算术平均值。
该函数返回数组元素的平均值。默认情况下,平均值是在平铺的数组上计算的。对于整数输入,使用 float64 作为中间和返回值,对于浮点数输入,返回值与输入 dtype 相同。
语法:
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>)
参数:
以下是 numpy.mean() 函数中的参数:
a: array_like
这个参数定义了源数组,其中包含我们希望计算平均值的元素。如果 'a' 不是数组,在此情况下会尝试转换。
axis: None、int 或 int 组成的元组(可选)
这个参数定义了计算平均值的轴。默认情况下,平均值在平铺的数组上计算。在版本 1.7.0 中,如果这是 int 组成的元组,则平均值在多个轴上执行,而不是像以前一样在单个轴或所有轴上执行。
dtype: 数据类型(可选)
这个参数用于定义在计算平均值时使用的数据类型。对于整数输入,默认值是 float64,对于浮点数输入,它与输入的 dtype 相同。
out: ndarray(可选)
这个参数定义了一个替代的输出数组,其中将放置结果。结果数组的形状应与期望输出的形状相同。在必要时,输出值的类型会进行转换。
keepdims: bool(可选)
当值为 true 时,减少的轴在输出/结果中保留为尺寸为一的维度。此外,结果会正确地广播到输入数组。当设置默认值时,keepdims 不会通过 ndarray 的子类的 mean 方法传递,但任何非默认值都肯定会传递。如果子类方法不实现 keepdims,则一定会引发异常。
返回值:
如果将 'out' 参数设置为 None,则此函数返回一个包含平均值的新数组。否则,它将返回对输出数组的引用。
示例 1:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b=np.mean(a)
b
x = np.array([[5, 6], [7, 34]])
y=np.mean(x)
y
输出:
2.5
13.0
在上面的代码中
- 我们导入了别名为 np 的 numpy 库。
- 我们使用 np.array() 函数创建了两个数组 'a' 和 'x'。
- 我们声明了变量 'b' 和 'y',并将 np.mean() 函数的返回值赋给了它们。
- 我们在函数中传递了数组 'a' 和 'x'。
- 最后,我们尝试打印 'b' 和 'y' 的值。
示例 2:
import numpy as np
a = np.array([[2, 4], [3, 5]])
b=np.mean(a,axis=0)
c=np.mean(a,axis=1)
b
c
输出:
array([2.5, 4.5])
array([3., 4.])
示例 3:
在单精度中,平均值可能不准确:
import numpy as np
a = np.zeros((2, 512*512), dtype=np.float32)
a[0, :] = 23.0
a[1, :] = 32.0
c=np.mean(a)
c
输出:
27.5
在上面的代码中
- 我们导入了别名为 np 的 numpy 库。
- 我们使用 np.zeros() 函数创建了一个名为 'a' 的数组,其 dtype 为 float32。
- 我们将第一行的所有元素的值设置为 23.0,第二行的所有元素的值设置为 32.0。
- 我们在函数中传递了数组 'a',并将 np.mean() 函数的返回值赋给了变量 'c'。
- 最后,我们尝试打印 'c' 的值。
在输出中,显示了数组 'a' 的平均值。
示例 4:
在 float64 中计算平均值更精确:
import numpy as np
a[0, :] = 2.0
a[1, :] = 0.2
c=np.mean(a)
c
d=np.mean(a, dtype=np.float64)
d
输出:
1.0999985
1.1000000014901161