Python 如何基于两列将重复行从一个数据帧添加到另一个数据帧?

Python 如何基于两列将重复行从一个数据帧添加到另一个数据帧?,python,pandas,Python,Pandas,如何将tbl_2中的重复行附加到tbl_1中,如下所示: tbl_1: +---+---+---+ | a | b | c | +---+---+---+ | 1 | 2 | x | | 3 | 4 | y | | 5 | 6 | z | +---+---+---+ tbl_2: +---+---+---+ | a | b | c | +---+---+---+ | 1 | 1 | a | | 3 | 4 | b | | 5 | 6 | c | +---+---+---+ 我试过使用du

如何将
tbl_2
中的重复行附加到
tbl_1
中,如下所示:

tbl_1:

+---+---+---+
| a | b | c |
+---+---+---+
| 1 | 2 | x |
| 3 | 4 | y |
| 5 | 6 | z |
+---+---+---+

tbl_2:

+---+---+---+
| a | b | c |
+---+---+---+
| 1 | 1 | a |
| 3 | 4 | b |
| 5 | 6 | c |
+---+---+---+

我试过使用
duplicated()
,但我不知道如何从一个数据帧内的比较转到数据帧之间的比较…

您可以使用
tbl_1
pd.concat
,然后从
tbl_2
中选择两列中存在的
tbl_1
行(我假设a和b)使用内部
合并

+---+---+---+
| a | b | c |
+---+---+---+
| 1 | 2 | x |
| 3 | 4 | y |
| 5 | 6 | z |
| 3 | 4 | b |
| 5 | 6 | c |
+---+---+---+
pd.concat([df1,df2],轴=0)
print (pd.concat([tbl_1, 
                  tbl_1[['a','b']].merge(tbl_2, how='inner')]))
   a  b  c
0  1  2  x
1  3  4  y
2  5  6  z
0  3  4  b
1  5  6  c