NumPy 函数

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.]