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

如何避免index/level_0作为列被添加到Pandas DataFrame中?

解决方法

问题出在切片后生成的临时DataFrame会保留索引转换产生的额外列,加上函数重复运行时原数据可能已被污染,导致冗余列反复出现。

修正后的代码

# 提取奇偶行并直接丢弃原索引,避免生成额外列
even_rows = trade_logs[trade_logs.index % 2 == 0].reset_index(drop=True)
odd_rows = trade_logs[trade_logs.index % 2 == 1].reset_index(drop=True)
# 横向拼接,无需后续删除列操作
pos_log = pd.concat([even_rows, odd_rows], axis=1)
return pos_log

额外排查点

如果问题仍存在,检查以下两点:

  • 确保trade_logs本身没有残留之前运行产生的index或level_0列,可在函数开头加入清理逻辑:
    trade_logs = trade_logs.drop(columns=['index', 'level_0'], errors='ignore')
    
  • 确认函数返回的pos_log没有被后续代码重复执行索引重置或拼接操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:47:10