sciPy stats.nanmean()函数| Python
原文:https://www.geesforgeks.org/scipy-stats-nan mean-function-python/
**scipy.stats.nanmean(array, axis=0)**
函数通过忽略沿数组指定轴的数组元素的 Nan(不是数字)值来计算算术平均值。
是公式–
参数: 数组:输入数组或对象中具有的元素,包括 Nan 值,来计算算术平均值。 轴:计算平均值的轴。默认情况下,轴= 0。
根据设定的参数返回:数组元素的算术平均值(忽略 Nan 值)。
代码#1:
# Arithmetic Mean
import scipy
import numpy as np
arr1 = [1, 3, np.nan, 27]
print("Arithmetic Mean using nanmean :", scipy.nanmean(arr1))
print("Arithmetic Mean without handling nan value :", scipy.mean(arr1))
输出:
Arithmetic Mean using nanmean : 10.333333333333334
Arithmetic Mean without handling nan value : nan
代码#2: 多维数据
# Arithmetic Mean
from scipy import mean
from scipy import nanmean
import numpy as np
arr1 = [[1, 3, 27],
[3, np.nan, 6],
[np.nan, 6, 3],
[3, 6, np.nan]]
print("Arithmetic Mean is :", mean(arr1))
print("Arithmetic Mean handling nan :", nanmean(arr1))
# using axis = 0
print("\nArithmetic Mean is with default axis = 0 : \n",
mean(arr1, axis = 0))
print("\nArithmetic Mean handling nan with default axis = 0 : \n",
nanmean(arr1, axis = 0))
# using axis = 1
print("\nArithmetic Mean is with default axis = 1 : \n",
mean(arr1, axis = 1))
print("\nArithmetic Mean handling nan with default axis = 1 : \n",
nanmean(arr1, axis = 1))
输出:
Arithmetic Mean is : nan
Arithmetic Mean handling nan : 6.444444444444445
Arithmetic Mean is with default axis =0 :
[nan nan nan]
Arithmetic Mean handling nan with default axis =0 :
[ 2.33333333 5\. 12\. ]
Arithmetic Mean is with default axis =1 :
[10.33333333 nan nan nan]
Arithmetic Mean handling nan with default axis =1 :
[10.33333333 4.5 4.5 4.5 ]