合并两个具有相同索引的Pandas数据框。

59

我有两个数据框,它们拥有相同的索引但不同的列。我应该如何将它们合并成一个具有相同索引但包含所有列的数据框?

我有:

  A 
1 10 
2 11

  B
1 20
2 21

我需要以下输出:

  A  B
1 10 20
2 11 21
2个回答

116
pandas.concat([df1, df2], axis=1)

3
为什么要使用 pd.concat 而不是 pd.merge? - Liam Foley
13
如果你只想将数据框(DataFrames)连接起来,那么concat就是用来做这个的;而如果你想进行类似于连接(join)的操作,那么merge就是用来做这个的。 - BrenBarn
6
谢谢!我会写成pandas.concat([df1, df2], axis='columns'),这样更易读。 - Alon Samuel

20

根据数据框的复杂程度,您有几个选项:

选项1:

df1.join(df2, how='outer')

选项2:

pd.merge(df1, df2, left_index=True, right_index=True, how='outer')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接