import pandas as pd
import numpy as np
qq=np.array([[1,2,3,np.nan],[3,4,np.nan,5],[6,np.nan,5,7],[6,7,8,0]])
结果:
array([[ 1., 2., 3., nan], [ 3., 4., nan, 5.], [ 6., nan, 5., 7.], [ 6., 7., 8., 0.]])
np.mean(qq,axis=0)
这样输出的是:array([ 4., nan, nan, nan]),即每列的均值,出现空值的列均值也为Nan
np.nanmean(qq,axis=0)
这样输出的是:array([4. , 4.33333333, 5.33333333, 4. ]),即忽略了空值进行均值
qq=pd.DataFrame(qq)
qq.mean(axis=0)
如果转为dataframe,再求均值,则可以直接得到忽略空值的均值:
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 1.0 | 2.0 | 3.0 | NaN |
1 | 3.0 | 4.0 | NaN | 5.0 |
2 | 6.0 | NaN | 5.0 | 7.0 |
3 | 6.0 | 7.0 | 8.0 | 0.0 |
结果为: 0 4.000000 1 4.333333 2 5.333333 3 4.000000 dtype: float64
ps:最大最小中值等均适用