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

拼接DataFrame后列数翻倍、索引不递增,如何解决?

问题解决思路及修正代码

问题根源

  1. 列数翻倍+NaN:你调用了df2.reset_index(),这会给df2额外新增一列index,而原df_没有这列;加上DF1有331、332列,DF2缺失这些列,concat时会合并所有列,缺失值自动补NaN,导致列数异常增多。
  2. 索引未递增:默认pd.concat会保留原DataFrame的索引,两个输入DF的行索引都是0,所以结果里索引重复,没有自动生成连续索引。

修正后的代码

# 直接拼接原始DF,设置ignore_index=True重置索引
result = pd.concat([df_, df2], axis=0, ignore_index=True)

# 如果需要给DF2缺失的列(331、332)填充默认值(比如0),可以再加一步
result = result.fillna(0)

代码说明

  • 去掉df2.reset_index():不需要额外保留df2的原索引,避免新增不必要的列。
  • ignore_index=True:让concat完成后自动生成从0开始的连续行索引,解决重复索引问题。
  • 可选的fillna(0):如果不想保留NaN值,可以用这个方法填充默认值,根据你的业务需求调整填充值。

预期结果

拼接后的DataFrame会包含所有列(datecreated、1-336),两行数据分别对应2022-11-14和2022-11-15,DF2缺失的331、332列会显示NaN(或你设置的填充值),行索引为0和1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:01:17