Python 在两个数据帧上左连接后,查找添加的额外行的键

Python 在两个数据帧上左连接后,查找添加的额外行的键,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有2个数据帧(比如说数据帧A和数据帧B),我用熊猫合并功能将它们合并 merged = A.merge(B, left_on = ["A_Key1", "A_Key2"], right_on = ["B_Key1", "B_Key2"], how = 'left') 由于表B中有一些重复的行,合并后的结果比表A多了一些行 我只想知道这些额外行的“A_Key1”的值是多少 我试过以下几件事: dup = A.loc[B.duplicated(["B_Key1", "B_Key2"]),:]

我有2个数据帧(比如说数据帧A和数据帧B),我用熊猫合并功能将它们合并

merged = A.merge(B, left_on = ["A_Key1", "A_Key2"], right_on = ["B_Key1", "B_Key2"], how = 'left')
由于表B中有一些重复的行,合并后的结果比表A多了一些行

我只想知道这些额外行的“A_Key1”的值是多少

我试过以下几件事:

dup = A.loc[B.duplicated(["B_Key1", "B_Key2"]),:]

dup['B_Key1'].isin(A["A_Key1", "B_Key2"].unique())
但是,正如我所料,这不起作用。

仅用于
A
DataFrame

A = pd.DataFrame({
        'A':list('abcdef'),
        'A_Key1':[3,3,6,5,5,4],
        'A_Key2':list('aaabbb')
})

B = pd.DataFrame({
        'B':list('qwerty'),
        'B_Key1':[5,3,6,1,3,5],
        'B_Key2':list('aaaaab')
})

merged = A.merge(B, left_on=["A_Key1", "A_Key2"], right_on=["B_Key1", "B_Key2"], how = 'left')
print (merged)
   A  A_Key1 A_Key2    B  B_Key1 B_Key2
0  a       3      a    w     3.0      a
1  a       3      a    t     3.0      a
2  b       3      a    w     3.0      a
3  b       3      a    t     3.0      a
4  c       6      a    e     6.0      a
5  d       5      b    y     5.0      b
6  e       5      b    y     5.0      b
7  f       4      b  NaN     NaN    NaN


@jazrael我想那会管用的,以前也试过。但是结果会比添加的其他行更大。@HarishJ-hmmm,那么输出的测试值呢?答案已编辑。
dup = merged[merged.duplicated(["B_Key1", "B_Key2"])]
print (dup)
   A  A_Key1 A_Key2  B  B_Key1 B_Key2
1  a       3      a  t     3.0      a
2  b       3      a  w     3.0      a
3  b       3      a  t     3.0      a
6  e       5      b  y     5.0      b

dup1 = merged.loc[merged.duplicated(["A_Key1", "A_Key2"]), 
                 ['A_Key1','A_Key2','B_Key1','B_Key2']]
print (dup1)
   A_Key1 A_Key2  B_Key1 B_Key2
1       3      a     3.0      a
2       3      a     3.0      a
3       3      a     3.0      a
6       5      b     5.0      b