NumPy numpy.median() 函数

Suraj Joshi 2023年1月30日 2020年11月7日
  1. numpy.median() 语法
  2. 示例代码:numpy.median() 查找数组中位数的方法
  3. 示例代码:在 numpy.median() 方法中设置 axis 参数沿着特定的轴寻找数组的中位数
  4. 示例代码:在 numpy.median() 方法中设置 out 参数
  5. 示例代码:在 numpy.median() 方法中设置 keepdims 参数
NumPy numpy.median() 函数

Python Numpynumpy.median() 计算给定的 NumPy 数组在指定轴上的中位数。

numpy.median() 语法

numpy.median(a, 
             axis=None, 
             out=None, 
             overwrite_input=False, 
             keepdims=False)

参数

a 数组或对象,可将其转换为数组,计算其中位数。
axis 沿行(axis=0)或列(axis=1)寻找中值。默认情况下,中位数是通过平坦化数组计算的。
out np.median() 方法结果的占位符
overwrite_input 布尔型。输入数组将通过调用 median() 方法(overwrite_input=True)来修改。
keepdims 布尔型。使输出的尺寸与输入相同(keepdims=True)。

返回值

沿着指定轴的中位数的数组。

示例代码:numpy.median() 查找数组中位数的方法

import numpy as np

a=np.array([[2,3,4],
            [5,6,7],
           [8,9,10]])

median=np.median(a)

print(median)

输出:

6.0

它通过扁平化数组来计算数组的中位数。

扁平化数组是指将所有的行一个接一个地展开,将给定数组转换为一维数组。

示例代码:在 numpy.median() 方法中设置 axis 参数沿着特定的轴寻找数组的中位数

示例代码: numpy.median() 沿列轴查找数组中值的方法

为了沿列轴寻找数组的平均值,我们设置 axis=0

import numpy as np

a=np.array([[2,3],
            [5,6],
           [8,9]])

median=np.median(a,axis=0)

print(median)

输出:

[5. 6.]

计算两列的中位数,最后返回一个包含每列中位数的数组。

示例代码: numpy.median() 沿行轴查找数组中位数的方法

要沿行轴寻找数组的中位数,我们设置 axis=1

import numpy as np

a=np.array([[2,3],
            [5,6],
           [8,9]])

median=np.median(a,axis=1)

print(median)

输出:

[2.5 5.5 8.5]

它计算所有三行的中位数,最后返回一个包含每行中位数的数组。

示例代码:在 numpy.median() 方法中设置 out 参数


import numpy as np

a=np.array([[2,3],
            [5,6],
           [8,9]])

median=np.zeros(np.median(a,axis=1).shape)
print(f"median before calculation: {median}")

np.median(a,axis=1,out=median)
print(f"median after calculation: {median}")

输出:

[2.5 5.5 8.5]

它将方法的结果保存在 median 变量中。

我们必须确保要分配给输出的变量的维度与输出的维度大小相同。

示例代码:在 numpy.median() 方法中设置 keepdims 参数


import numpy as np

a=np.array([[2,3],
            [5,6],
           [8,9]])

print(f"Dimension of Input Array: {median.ndim}")

median=np.median(a,axis=1)
print(f"Dimension of median with 'keepdims=False': {median.ndim}")

median=np.median(a,axis=1,keepdims=True)
print(f"Dimension of median with 'keepdims=True': {median.ndim}")

输出:

Dimension of Input Array: 2
Dimension of median with 'keepdims=False': 1
Dimension of median with 'keepdims=True': 2

设置 keepdims=True 保留输出数组的维数。

在这里,输入数组 a 是 2 维的,如果 keepdims=False(默认值),median 的维数可能会被改变。但设置 keepdims=True 可以保留 np.median() 方法输出的维数。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn