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,再求均值,则可以直接得到忽略空值的均值:
012301.02.03.0NaN13.04.0NaN5.026.0NaN5.07.036.07.08.00.0
结果为:
0 4.000000
1 4.333333
2 5.333333
3 4.000000
dtype: float64
ps:最大最小中值等均适用
Original: https://blog.csdn.net/weixin_46493028/article/details/124481259
Author: 昆齐
Title: Python|numpy与pandas按列求均值忽略空值的一点点总结
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/618701/
转载文章受原作者版权保护。转载请注明原作者出处!