我有两个列相似的 Dataframe ,想合并它们。
数据集例如,
df1 = pd.DataFrame({'A': [1, 2], 'B': ["abc", "abc"], 'C': [0, 1]})
df2 = pd.DataFrame({'A': [1, 6], 'B': ["bcd", "abc"], 'C': [5, 5]})
我用的密码是pd.concat([df1, df2], axis=1)
其返回
A B C A B C
0 1 abc 0 1 bcd 5
1 2 abc 1 6 abc 5
预期格式
A A B B C C
0 1 1 abc bcd 0 5
1 2 6 abc abc 1 5
有什么办法吗?谢谢
3条答案
按热度按时间nkcskrwz1#
你可以对列进行排序(使用稳定排序,df1的列排在前面):
zujrkrfu2#
您可以在
concat
之后执行sort_index
:或者,如果你不想排序,concat垂直添加一个额外的级别和
unstack
:输出:
fhg3lkii3#
您可以使用
pd.concat()
函数和keys参数来指定每个 Dataframe 的列名,使用axis=1
参数来并排连接 Dataframe 。或者,您也可以将merge函数与左连接一起使用
这将为您提供预期格式,其中列标记为“A”、“B_df1”、“C_df1”、“B_df2”、“C_df2”