NumPy median() 函数用于计算沿指定轴的中位数。默认情况下,中位数是在展平数组上计算的,否则在指定轴上计算的。
语法
numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=False)
参数
a | 必填。 指定一个数组(array_like),其中包含所需中位数的数字。 |
axis | 可选。 指定计算中位数的一个或多个轴。默认值是计算展平数组的中位数。 |
out | 可选。 指定结果的输出数组。默认值为"无"。如果提供,它必须具有与输出相同的形状。 |
overwrite_input | 可选。 如果为 True,则输入数组将被修改。如果 overwrite_input 为 True 并且 a 还不是 ndarray,则会引发错误。默认值为 False。 |
keepdims | 可选。 如果将此设置为 True,则缩小的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将针对输入数组正确广播。 |
返回值
返回包含中值的数组out=None,否则返回对输出数组的引用。
示例:所有值的中位数
在下面的示例中,median() 函数为用于计算数组中存在的所有值的中位数。
import numpy as np
Arr = np.array([[10,20],[30, 40]])
print("Array is:")
print(Arr)
#所有值的中位数
print("\n所有值的中位数:", np.median(Arr))
上述代码的输出将是:
Array is:
[[10 20]
[30 40]]
所有值的中位数: 25.0
示例:带有轴参数的median()
当提供 axis 参数时,将在指定的轴上计算中位数。考虑以下示例。
import numpy as np
Arr = np.array([[10,20,500],[30,40,400], [100,200,300]])
print("Array is:")
print(Arr)
#沿轴的中位数=0
print("\n沿轴的中位数=0")
print(np.median(Arr, axis=0))
#沿轴的中位数=1
print("\n沿轴的中位数=1")
print(np.median(Arr, axis=1))
上述代码的输出将是:
Array is:
[[ 10 20 500]
[ 30 40 400]
[100 200 300]]
沿轴的中位数=0
[ 30. 40. 400.]
沿轴的中位数=1
[ 20. 40. 200.]