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:最大最小中值等均适用

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐