Concat 2数据框不包含2列匹配数据,但保留其余数据

时间:2019-02-28 22:39:56

标签: python pandas

我已经看到了如何合并2个列ID中的2个DF,但似乎每次迭代都会创建重复的值。我想知道如何匹配两列,好像它是一个串联的ID。

df1
1    3    12
1    4    14

df2
1    3    12
1    4    12

Desired Output
id1  id2  df1   df2
1    3    12    12
1    4    14    12

基本上我想返回两列之间的内部联接,但之后还要包含不同的数据...

1 个答案:

答案 0 :(得分:1)

我整理了以下快速代码,以重新生成您的DataFrame示例并生成所需的输出:

df1 = pd.DataFrame({'id1':[1,1],'id2':[3,4],'value1':[12,14]})
df2 = pd.DataFrame({'id1':[1,1],'id2':[3,4],'value2':[12,12]})
new_df = pd.merge(df1,df2,on=['id1','id2'])

此合并命令在两个框架中的id1id2列上产生内部联接(即,使用两个框架中的关键点的交集)。