通过具有相同名称的列连接数据框

时间:2019-03-26 00:54:15

标签: python pandas dataframe

我有以下数据框:

df:

A      B      C
1      x      1
2      y      2

df2:

A     C      D     E
3     3      x     l
4     4      z     k

我想要以下内容:

df_r:

A        C
1        1
2        2
3        3
4        4

注意:这仅是示例,答案应该能够不知道第一手什么是相同的列。也就是说,假设您有一千列。

2 个答案:

答案 0 :(得分:3)

现在该将concatjoin引入

pd.concat([df1,df2],join='inner',ignore_index =True)
Out[30]: 
   A  C
0  1  1
1  2  2
2  3  3
3  4  4

使用align

的另一种方法
pd.concat(df1.align(df2,join='inner',axis=1),ignore_index =True)
Out[37]: 
   A  C
0  1  1
1  2  2
2  3  3
3  4  4

适用于outerinner的两种方法都可以合并indexcolumns

答案 1 :(得分:2)

简单的pd.concat

cols = set(df.columns).intersection(df2.columns)
pd.concat([df[cols], df2[cols]])

使用df.append

也很简单
df[cols].append(df2[cols])