我想通過兩列子組的平均值來填充 DataFrame 缺失的“年齡”值。
df.groupby(["col_x","col_y"])["Age"].mean()
上面的代碼回傳這些子組的均值:
col_X col_Y
X 1 35
2 29
3 22
Y 1 41
2 31
3 27
我有一種感覺,這可以通過使用 .map 函式來實作:
df.loc[df['Age'].isnull(),'Age'] = df[['col_X',"col_Y"]].map(something)
有人可以幫我解決這個問題嗎?
uj5u.com熱心網友回復:
最好使用groupby().transform,它回傳一個與 索引相同的系列df。所以你可以fillna用它:
df['Age'] = df['Age'].fillna(df.groupby(['col_x','col_y'])['Age'].transform('mean'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/371354.html
標籤:Python 熊猫 数据框 字典 pandas-groupby
