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

Pandas重置索引后列值变回NaN的问题及异常填充情况

问题解决方法

问题原因

你执行ps0pyc.fillna(method='ffill')时,Pandas默认返回填充后的新DataFrame副本,不会修改原ps0pyc对象。所以你看到的填充结果只是临时输出,原数据仍保留NaN值,执行reset_index后自然会再次显示NaN。而后续用axis=1填充是横向按行填充,会把同一行的日期值填到PORTVAL列,这完全不符合需求。

正确解决步骤

有两种方式可以确保填充结果被保存:

  1. 将填充结果重新赋值给原变量
# 填充NaN并覆盖原变量
ps0pyc = ps0pyc.fillna(method='ffill')
# 重置索引
ps0pyc.reset_index(inplace=True)
  1. 使用inplace=True参数直接修改原数据
# 直接在原DataFrame上填充NaN
ps0pyc.fillna(method='ffill', inplace=True)
# 重置索引
ps0pyc.reset_index(inplace=True)

补充说明

  • fillna默认的axis=0是纵向按列填充,这正是你需要的向前填充逻辑,不需要手动指定axis参数。
  • 重置索引操作不会影响已经填充好的数据,只要先确保填充结果被保存到原变量即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 07:35:11