pandas向空DataFrame追加数据时自定义表头偏移为额外列如何解决
问题解决方法
问题核心是待追加的df_t默认使用数字列名(0~8),和目标DataFrame df2的自定义列名不匹配,pandas追加操作默认按列名对齐,因此会生成额外列。
你可以按照以下步骤操作:
- 先将
df_t的列名替换为df2的自定义列名(你给出的示例中两者列数一致、列顺序对应,可直接替换) - 执行追加操作,pandas 1.4及以上版本推荐使用官方推荐的
concat方法替代已废弃的append方法
对应代码如下:
# 替换df_t的列名和df2保持一致 df_t.columns = df2.columns # 执行追加,ignore_index=True可以重置行索引避免索引重复 df2 = pd.concat([df2, df_t], ignore_index=True)
如果你使用的是pandas 1.4以下的旧版本,仍可以用append方法:
df_t.columns = df2.columns df2 = df2.append(df_t, ignore_index=True)
注意:如果
df_t的列顺序和df2的自定义列顺序不一致,需要先调整df_t的列顺序再替换列名,避免数据错位。
内容的提问来源于stack exchange,提问作者Zac
相关产品推荐
相关产品推荐

