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

pandas concat拼接同行数无公共列DataFrame出现行数翻倍NaN问题

问题原因

pandas.concat默认拼接轴为axis=0(纵向按行堆叠),未指定横向拼接参数时,函数会尝试把两个DataFrame上下堆叠;再加上两个DataFrame的原有索引不匹配,列对齐后就会生成4行、包含全量列并填充大量NaN的错误结果。

修复方法

横向按列拼接必须显式传入axis=1参数,执行以下代码即可得到2×242的目标DataFrame:

import pandas as pd
df3 = pd.concat([df1, df2], axis=1)

异常兜底处理

如果执行上述代码后仍存在NaN值,是两个DataFrame的行索引不一致导致的对齐错位,先重置两个DataFrame的索引再拼接即可:

# 丢弃原有不匹配的索引,重置为从0开始的默认整数索引
df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)
df3 = pd.concat([df1, df2], axis=1)
  • 拼接完成后可直接执行print(df3.shape)校验维度,输出(2, 242)即为符合预期的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:39:09