解决pandas.DataFrame.fillna填充NaN失败的问题

Evan
Evan
发布时间:2026-10-14 | 5人浏览过
原创

在使用pandas DataFrame的fillna方法时,若未设置inplace=True,填充操作不会修改原数据框,导致看似填充失败。本文通过对比直接打印结果与修改原数据两种方式,详细解析inplace参数的作用,确保数据变更持久保存。

pandas fillna填充NaN无效的原因

在使用pandas处理数据时,经常遇到需要填充NaN值的情况。


>>> df.fillna(0)
>>> print(df) # 可以看到未发生改变
 
 
>>> print(df.fillna(0)) # 如果直接打印是可以看到填充进去了
>>> print(df) # 但是再次打印就会发现没有了,还是Nan

例如,尝试将所有NaN值替换为0并打印数据框,会发现数值并未发生变化。这通常是因为调用fillna方法时遗漏了inplace参数,导致操作仅返回新对象而未修改原数据。

要使源数据发生实际改变并保存结果,必须在fillna方法中显式指定inplace=True参数。

使用inplace参数确保数据修改


>>> df.fillna(0, inplace = True)
>>> print(df) #可以看到发生改变
 

以上就是解决pandas DataFrame fillna填充NaN无效问题的核心要点,希望能为读者提供有效的参考与帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表