sciPy stats . nan middle()函数| Python
原文:https://www.geesforgeks.org/scipy-stats-nan median-function-python/
**scipy.stats.nanmedian(array, axis=0)**
函数通过忽略沿数组指定轴的数组元素的 Nan(不是数字)值来计算中位数。
参数: 数组:输入数组或对象所具有的元素,包括 Nan 值,来计算中位数。 轴:计算中间值的轴。默认情况下,轴= 0
根据设置的参数返回:数组元素的中值(忽略 Nan 值)。
代码#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]