sciPy stats.nanmedian()函数| Python
scipy.stats.nanmedian(array, axis=0)
函数通过忽略沿数组指定轴的数组元素的 Nan(不是数字)值来计算中位数。
Parameters :
array : Input array or object having the elements, including Nan values, to calculate the median.
axis : Axis along which the median is to be computed. By default axis = 0
Returns : median of the array elements (ignoring the Nan values) based on the set parameters.
代码#1:
# median
import scipy
import numpy as np
arr1 = [1, 3, np.nan, 27, 2, 5]
print("median using nanmedian :", scipy.nanmedian(arr1))
print("median without handling nan value :", scipy.median(arr1))
输出:
median using nanmedian : 3.0
median without handling nan value : nan
代码 #2:使用多维数据
# median
from scipy import median
from scipy import nanmedian
import numpy as np
arr1 = [[1, 3, 27],
[3, np.nan, 6],
[np.nan, 6, 3],
[3, 6, np.nan]]
print("median is :", median(arr1))
print("median handling nan :", nanmedian(arr1))
# using axis = 0
print("\nmedian is with default axis = 0 : \n",
median(arr1, axis = 0))
print("\nmedian handling nan with default axis = 0 : \n",
nanmedian(arr1, axis = 0))
# using axis = 1
print("\nmedian is with default axis = 1 : \n",
median(arr1, axis = 1))
print("\nmedian handling nan with default axis = 1 : \n",
nanmedian(arr1, axis = 1))
输出:
median is : nan
median handling nan : 3.0
median is with default axis = 0 :
[ nan nan nan]
median handling nan with default axis = 0 :
[ 3. 6. 6.]
median is with default axis = 1 :
[ 3. nan nan nan]
median handling nan with default axis = 1 :
[ 3. 4.5 4.5 4.5]