Python 合并两个具有不同长度的数据帧,并重复值

Python 合并两个具有不同长度的数据帧,并重复值,python,pandas,Python,Pandas,我有两个具有相同列“A”的数据帧,我想在其上合并。然而,在df2中,列A被随机复制了许多次。这个复制对我的问题很重要,我不能放弃它。我希望最终的数据帧看起来像df3。其中,A列将B列值合并到每个复制 df1 df2 Col A Col B Col A Col B 1 v 1 a 2 w 2 b 3

我有两个具有相同列“A”的数据帧,我想在其上合并。然而,在df2中,列A被随机复制了许多次。这个复制对我的问题很重要,我不能放弃它。我希望最终的数据帧看起来像df3。其中,A列将B列值合并到每个复制

df1                       df2
Col A   Col B             Col A    Col B
1       v                 1        a
2       w                 2        b    
3       x                 2        c
4       y                 3        d
                          3        e
                          4        f

df3
Col A    Col B    Col C
1        a        v
2        b        w
2        c        w
3        d        x
3        e        x
4        f        y
我相信您需要由以下人员创建的
系列

使用合并:

df2.merge(df1, on='Col A')
Out: 
   Col A Col B_x Col B_y
0      1       a       v
1      2       b       w
2      2       c       w
3      3       d       x
4      3       e       x
5      4       f       y
如有必要,请随后重命名:

df = df2.merge(df1, on='Col A')
df.columns = ['Col A', 'Col B', 'Col C']

有关详细信息,请参阅上的熊猫文档

哦,老兄。。。这可能不是“错”,但对于学习者来说,这确实是一个很难回答的问题。我认为
merge
join
更重要approachable@JDLong-是的,这是另一个解决方案。但我更喜欢
map
如果只需要连接一列,因为fasterYes就是这样。我想是跑步时间。
df = df2.merge(df1, on='Col A')
df.columns = ['Col A', 'Col B', 'Col C']