📜  Python| numpy nanmedian()函数(1)

📅  最后修改于: 2023-12-03 15:19:13.918000             🧑  作者: Mango

Python | numpy nanmedian()函数

numpy.nanmedian()函数是在计算时忽略了nan(空值)的中间值。
语法
numpy.nanmedian(arr, axis=None, out=None, overwrite_input=False, keepdims=<no value>)
参数
  • arr: 输入数组.
  • axis: 沿轴计算中位数,默认为None.输入负数时,沿最后的轴往回计算.
  • out: 可选,替换结果的输出数组.
  • overwrite_input: 可选,默认为False.如果为True,刚开始被计算的输入数组将被重写.
  • keepdims: 可选,默认情况下,将删除计算中使用的维度。如果此选项设置为True,则保留这些维度,但为维度1添加1.
返回值

返回沿轴上的算术中间值, 或输入中的整个数组的中间值.

示例
import numpy as np

arr = np.array([[0, 1, 2], [3, np.nan, 5], [6, 7, np.nan]])

print("arr中位数为:", np.nanmedian(arr))
print("arr纵向中位数为:", np.nanmedian(arr, axis=0))
print("arr横向中位数为:", np.nanmedian(arr, axis=1))

输出结果:

arr中位数为: 3.0
arr纵向中位数为: [3. 4. 3.5]
arr横向中位数为: [1.  4.  6.5]

在本示例中,输入数组包含nan。因此,通过numpy.nanmedian()函数计算出的结果会忽略nan,计算出正确的中间值。

上面的示例中,np.nan代表空值。np.nanmedian()计算arr的中位数,输出结果为3.0。在此示例中,极差中位数的计算方式为:

(2+3)/2 = 2.5

由于数组arr输入了np.nan,在计算中位数时,numpy.nanmedian()将忽略它们。沿轴0和轴1分别对数组进行计算,计算出相应的中位数。

结论

numpy.nanmedian(arr, axis=None)函数是在忽略空值时计算arr数组的中间值的。返回来沿着轴的算术中间值, 或输入中的整个数组的中间值。numpy.nanmedian()函数用于处理具有空值的数据集。此函数是在numpy模块中定义的,因此要正确使用它,必须导入numpy模块。