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