import numpy as np
import pandas as pd
GFG_dict = { '2019': [10,20,30,40],'2020': [20,30,40,50],'2021': [30, np.NaN, np.NaN, 60],'2022':[40,50,60,70]}
gfg = pd.DataFrame(GFG_dict)
gfg['mean1'] = gfg.mean(axis = 1)
gfg['mean2'] = gfg.loc[:,'2019':'2022'].sum(axis = 1)/4
gfg
我想要的是列mean2中的平均值
我如何得到相同的结果使用:.mean(axis =1)
当你做mean2
时,你正在做和(跳过nan
值),然后总是除以4(这是计数包括)nan
)。
您可以通过执行fillna(0)
然后计算平均值来实现这一点:
gfg['mean1'] = gfg.fillna(0).mean(axis = 1)
注意:这不会在你的数据框中填充
nan
值,但只做平均计算,所以你的数据框不会被修改