我的数据缺少“年龄”的值,我想根据“分组”列的“平均值”将其平均替换。命令后:
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。如上所述,如何根据组平均值替换所有缺失值?
问题1:请提供一个片段,以便能够重现该错误
问题2:
尝试df['Age'].fillna(f.groupby('Title')['Age'].transform('mean'))
。这类似于Pandas: filling missing values by mean in each group