📜  sciPy stats.nanmedian()函数| Python(1)

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

scipy stats.nanmedian()函数 | Python

简介

scipy.stats.nanmedian()是scipy库中的一个函数,用于计算给定数组的中位数,跳过NaN值。

中位数是指一个数组的中间值,即把数列按从小到大的顺序排列,中间那个数就是中位数。如果数组有偶数个数,中位数就是中间两个数的平均值。

用法
参数

scipy.stats.nanmedian(a, axis=None, out=None, overwrite_input=False, keepdims=False)

  • a : 输入的数组
  • axis : 需要沿着它计算中位数的轴,如果不设置,则计算整个数组的中位数
  • out : 结果被放置的数组
  • overwrite_input : 如果为True,则允许使用和输入数组相同的存储器将结果放回,这样可以节约存储器
  • keepdims : 如果设置为True,则将输出数组的维度设置为输入数组的维度。结果数组中的轴被缩小为长度为1。
返回值

返回给定数组的中位数值。

示例
>>> import numpy as np
>>> from scipy import stats
>>> arr = np.array([1, 3, np.NaN, 5, 7])
>>> stats.nanmedian(arr)
5.0
>>> arr1 = np.array([[1, 2, 3], [np.NaN, 5, 6], [7, 8, 9]])
>>> stats.nanmedian(arr1)
5.0
>>> stats.nanmedian(arr1, axis=0)
array([4., 5., 6.])
>>> stats.nanmedian(arr1, axis=1)
array([2., 5., 8.])
注意事项
  • 输入数组中的NaN值将被忽略,因此中位数可能不会落在输入数组中。如果输入数组中的全部值都是NaN,则输出将为NaN。
  • 如果输入数组具有较大的维数,并且应在其中一个轴上计算中位数,则在计算之前请确保将该轴压缩为一个单独的维度。
  • 如果输入数组是空的,则输出将为NaN。