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

Pandas DataFrame设置索引后调用append添加行出现索引丢失问题

问题原因
  • 你调用append方法时设置的ignore_index=True是直接导致索引丢失的核心原因:该参数的作用就是强制将合并后结果的索引重置为从0开始的连续整数索引,原DataFrame设置的自定义event_time索引会被直接丢弃。
  • 其次你传入append的是字典类型数据,字典本身不携带索引信息,Pandas会默认将字典中所有键值对识别为普通列处理,不会主动把字典中的event_time字段作为索引赋值。
解决方案

如果需要添加数据后保留event_time作为行索引,可选择以下两种实现方式:

单条数据追加场景

add_item = ticks[0]
# 提取event_time作为行索引,剩余字段作为行内容
row_idx = add_item.pop("event_time")
history["AXSBUSD"] = history["AXSBUSD"].append(pd.Series(add_item, name=row_idx))

批量数据追加场景

# 先批量追加所有数据
history["AXSBUSD"] = history["AXSBUSD"].append(ticks, ignore_index=True)
# 追加完成后统一设置索引
history["AXSBUSD"].set_index("event_time", inplace=True)

补充说明:Pandas 2.0及以上版本已经正式废弃DataFrame.append()方法,更推荐使用pd.concat()做数据合并,性能和兼容性更优

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:05