基于多列子组填充缺失值
Filling missing values based on multi-column subgroup
我想通过两列子组来填充 DataFrame 中缺少的“年龄”值。
df.groupby(["col_x","col_y"])["Age"].mean()
上面的代码returns这些子组的意思:
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)
谁能帮我解决这个问题?
groupby().transform
更好,returns 与 df
具有相同索引的系列。所以你可以fillna
用它:
df['Age'] = df['Age'].fillna(df.groupby(['col_x','col_y'])['Age'].transform('mean'))
我想通过两列子组来填充 DataFrame 中缺少的“年龄”值。
df.groupby(["col_x","col_y"])["Age"].mean()
上面的代码returns这些子组的意思:
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)
谁能帮我解决这个问题?
groupby().transform
更好,returns 与 df
具有相同索引的系列。所以你可以fillna
用它:
df['Age'] = df['Age'].fillna(df.groupby(['col_x','col_y'])['Age'].transform('mean'))