2017-05-24 56 views
1

我想根據列值的平均值填寫NaN。 例如:填寫Nan基於組

 Groups  Temp 

1  5   27 
2  5   23 
3  5   NaN (will be replaced by 25) 
4  1   NaN (will be replaced by the mean of the Temps that are in group 1) 

有什麼建議嗎?謝謝 !

回答

2

使用groupbytransfrom,並與fillnamean lamdba功能:

df = df.assign(Temp=df.groupby('Groups')['Temp'].transform(lambda x: x.fillna(x.mean()))) 
print(df) 

輸出:

Temp 
0 27.0 
1 23.0 
2 25.0 
3 NaN 
+0

我只是刪除我的回答了相同的反正:) – Vaishali

+0

我還有其他的比列溫度和羣體,我怎麼才能精確到只有在tempna? – hdatas

+0

真棒謝謝! – hdatas