我在合并 Pandas 中具有不同列(一些常见列,但数量不同)的两个数据帧时遇到问题。这些公共列的顺序是不一样的。例如:
df1
A B C
R1 1 2 3
R2 2 1 2
R3 1 1 1
df2
B C
R1 2 1
R2 1 1
我希望结果是:
df1
A B C
R1 1 2 3
R2 2 1 2
R3 1 1 1
R4 N 2 1
R5 N 1 1
(N = NULL)
有很多列 (>100) 所以我不想手动输入列名。我该怎么办?
答案 0 :(得分:1)
首先将df2
的索引更新为与df1
的索引连续:
df2.index = ['R' + str(i + 1) for i in range(len(df1), len(df1) + len(df2))]
现在,我们可以使用 concat
连接列名后面的两个数据框:
pd.concat([df1, df2])
结果:
A B C
R1 1.0 2 3
R2 2.0 1 2
R3 1.0 1 1
R4 NaN 2 1
R5 NaN 1 1