我有以下数据框,并希望填写缺失值。
mukey hzdept_r hzdepb_r sandtotal_r silttotal_r
425897 0 61
425897 61 152 5.3 44.7
425911 0 30 30.1 54.9
425911 30 74 17.7 49.8
425911 74 84
我希望每个缺失值都是与该mukey对应的值的平均值。在这种情况下,例如第一行缺失值将是对应于mukey的sandtotal_r和silttotal_r的平均值== 425897。 pandas fillna似乎没有做到这一点。有什么帮助吗?
答案 0 :(得分:3)
使用我刚刚学到的几个问题......
仅供参考,这个解决方案仍然会留给没有任何' sandtotal_r或' silttotal_r&#的Mukey的NaN&# 39; S
import pandas as pd
df = pd.read_clipboard()
df1 = df.set_index('mukey')
df1.fillna(df.groupby('mukey').mean(),inplace=True)
df1.reset_index()
mukey hzdept_r hzdepb_r sandtotal_r silttotal_r
0 425897 0 61 5.3 44.70
1 425897 61 152 5.3 44.70
2 425911 0 30 30.1 54.90
3 425911 30 74 17.7 49.80
4 425911 74 84 23.9 52.35