使用中位数填充缺失值时出现<bound method NDFrame._add_numeric_operations>报错求助
问题原因与解决办法
- 出现
<bound method NDFrame._add_numeric_operations>提示,是因为你计算中位数时没加括号——比如写了df['目标列名'].median而不是df['目标列名'].median()。没加括号的话,Python返回的是方法本身,不是计算出来的中位数数值,自然没法正确填充缺失值。 - 正确操作步骤:
- 先算出目标列的中位数:
median_value = df['目标列名'].median() - 用这个中位数填充缺失值:
df['目标列名'].fillna(median_value, inplace=True)
或者直接一步完成:df['目标列名'] = df['目标列名'].fillna(df['目标列名'].median())
- 先算出目标列的中位数:
- 验证填充结果:执行
df['目标列名'].isnull().sum(),如果返回0就说明缺失值已全部填充;也可以直接查看数据列,确认缺失值位置已替换为中位数。
内容的提问来源于stack exchange,提问作者liana raphs
相关产品推荐
相关产品推荐

