含NaN值的列均值计算与缺失值填充报错求助
问题解决方法
报错的核心原因是**income列的数据类型不是数值型(实际为字符串类型)**,导致计算均值和替换操作时出现类型不兼容的错误。按以下步骤修复:
- 先将
income列转换为数值类型,把无法转换的内容强制转为NaN:
df["income"] = pd.to_numeric(df["income"], errors="coerce")
- 计算均值并填充缺失值(用
fillna比replace更直接,且会修改原数据列):
mean_income = df["income"].mean() df["income"] = df["income"].fillna(mean_income)
也可以合并成一行简化操作:
df["income"] = pd.to_numeric(df["income"], errors="coerce").fillna(df["income"].mean())
处理后的数据结果:
name nationality income Joe American 30000.0 Mira Iraqi 58500.0 Maria Spanish 87000.0
内容的提问来源于stack exchange,提问作者S. Mas
相关产品推荐
相关产品推荐

