如何根据分组平均值填充缺失值?

问题描述 投票:0回答:1

我的数据缺少“年龄”的值,我想根据“分组”列的“平均值”将其平均替换。命令后:

df.groupby('Title').mean()['Age']

例如,我得到一个列表

先生32

小姐21.7

女士28

我尝试过:

df['Age'].replace(np.nan, 0, inplace=True)
df[(df.Age==0.0)&(df.Title=='Mr')]

仅查看缺少年龄且标题是一种类型但不起作用的单元格。

问题1。尽管多个单元格同时满足两个条件(年龄= 0.0,标题为mr,为什么上面的代码为什么不显示任何单元格]

问题2。如上所述,如何根据组平均值替换所有缺失值?

python group-by missing-data
1个回答
0
投票

问题1:请提供一个片段,以便能够重现该错误

问题2:

尝试df['Age'].fillna(f.groupby('Title')['Age'].transform('mean'))。这类似于Pandas: filling missing values by mean in each group

© www.soinside.com 2019 - 2024. All rights reserved.