pandas 如何将 Dataframe 与匹配的列并排合并在一起?

yduiuuwa  于 2022-12-28  发布在  其他
关注(0)|答案(1)|浏览(148)

我有两个键匹配的 Dataframe 。我想根据键将它们合并在一起,并使对应的列并排排列。我不知道如何实现这一点,因为pd.merge显示第一个 Dataframe 的所有列,然后显示第二个 Dataframe 的所有列:

df1 = pd.DataFrame(data={'key': ['a', 'b'], 'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame(data={'key': ['a', 'b'], 'col1': [5, 6], 'col2': [7, 8]})

print(pd.merge(df1, df2, on=['key']))

  key  col1_x  col2_x  col1_y  col2_y
0   a       1       3       5       7
1   b       2       4       6       8

我正在寻找一种方法来做同样的合并,并有列并排显示如下:

key  col1_x  col1_y  col2_x  col2_y
0   a       1       5       3       7
1   b       2       6       4       8

任何帮助实现这一点将不胜感激!

g52tjvyc

g52tjvyc1#

如果你可以接受一点混乱,你可以对列进行排序。

df = pd.merge(df1, df2, on=['key'])
df = df.reindex(columns = sorted(df.columns))

或者你可以这样把钥匙放在前面

cols = list(df.columns)
cols.remove('key')
print(cols)
df = pd.merge(df1, df2, on=['key'])
df = df.reindex(columns = ['key']+sorted(cols))

相关问题