更改DataFrame中的NaN值

时间:2018-02-19 05:36:38

标签: python pandas dataframe

在数据框中,我确实有“性别”和“分数”列

Gender:'M','F','F','M','F'
Score : np.NaN,200,400,300,np.NaN

我需要将“得分”列的“NaN”值更改为该特定性别的平均值。

尝试以下代码,但无法正常工作:

df6['Score']=df6['Score'].
fillna(df6.groupby('Gender')['Score'].transform('mean'))

df6

1 个答案:

答案 0 :(得分:3)

您可以将transform的结果保留为数据框,fillna将按预期工作。

df.fillna(df.groupby('Gender')[['Score']].transform('mean'))

  Gender  Score
0      M  300.0
1      F  200.0
2      F  400.0
3      M  300.0
4      F  300.0