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

pd.concat合并DataFrame后列顺序错乱,疑关联此前的DataFrame键打印异常

pd.concat后列顺序错乱的原因及解决办法

核心原因

  • 两个DataFrame的列原始顺序不一致,而pd.concat默认会按列名字典序(比如字母a-z顺序)重新排列合并后的列,不会沿用任意一个输入df的列顺序。
  • 那个无法正常打印的DataFrame可能存在列属性异常:比如列名包含隐藏字符、列名类型非字符串,或者列的元数据被意外修改,导致concat时无法识别其原有列顺序,进一步打乱结果。

解决办法

  • 统一列顺序再合并:先把两个df的列对齐成同一顺序,比如以df_1的列顺序为准:
    df_2 = df_2[df_1.columns]
    df = pd.concat([df_1, df_2])
    
  • 检查异常df的列信息:先手动输出两个df的列列表,排查列名是否有差异:
    print(df_1.columns.tolist())
    print(df_2.columns.tolist())
    
    若发现列名有大小写、空格、特殊字符的差异,先统一列名(比如df_2.columns = df_1.columns)再合并。
  • 强制指定合并后的列顺序:如果需要自定义列顺序,可以在合并后直接重排:
    desired_order = ['列名1', '列名2', ...] # 按你想要的顺序列出来
    df = df[desired_order]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:42:09