You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在object类型列替换NaN值并同步修改主DataFrame?

解决DataFrame中object类型列NaN值替换不生效的问题

你之前的代码covid_19_df.Country_code.fillna('OT')没生效,是因为Pandas的fillna()默认返回一个新的Series副本,不会直接修改原DataFrame的数据。要让修改作用于主DataFrame,有两种常用方法:

方法一:使用inplace=True参数直接修改原列

这个参数会让方法直接在原数据上执行替换操作,不需要额外赋值:

# 两种列引用方式都可以
covid_19_df.Country_code.fillna('OT', inplace=True)
# 或者
covid_19_df['Country_code'].fillna('OT', inplace=True)

方法二:将替换结果重新赋值给原列

把fillna()返回的新Series赋值回原DataFrame的对应列,覆盖原来的数据:

covid_19_df['Country_code'] = covid_19_df['Country_code'].fillna('OT')

扩展:批量处理所有object类型列

如果需要给所有object类型的列统一替换NaN为'OT',可以先筛选出这类列再批量处理:

# 筛选所有object类型的列
object_columns = covid_19_df.select_dtypes(include=['object']).columns
# 批量替换NaN
covid_19_df[object_columns] = covid_19_df[object_columns].fillna('OT')

内容的提问来源于stack exchange,提问作者Nuro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:20:33