【发布时间】:2021-09-16 07:03:19
【问题描述】:
假设以下 DataFrames
df1:
id data1
1 10
2 200
3 3000
4 40000
df2:
id1 id2 data2
1 2 210
1 3 3010
1 4 40010
2 3 3200
2 4 40200
3 4 43000
我想要新的 df3:
id1 id2 data2 data11 data12
1 2 210 10 200
1 3 3010 10 3000
1 4 40010 10 40000
2 3 3200 200 3000
2 4 40200 200 40000
3 4 43000 3000 40000
在 pandas 中实现这一目标的正确方法是什么?
编辑:请不要具体数据可以任意。我选择这个特定数据只是为了显示所有内容的来源,但每个数据元素都与任何其他数据元素没有关联。
其他数据框示例,因为第一个不够清楚:
df4:
id data1
1 a
2 b
3 c
4 d
df5:
id1 id2 data2
1 2 e
1 3 f
1 4 g
2 3 h
2 4 i
3 4 j
我想要新的 df6:
id1 id2 data2 data11 data12
1 2 e a b
1 3 f a c
1 4 g a d
2 3 h b c
2 4 i b d
3 4 j c d
编辑2:
Data11 和Data12 只是data1 的一个副本,对应的id 为id1 或id2
【问题讨论】:
-
您需要说明
data12是如何从您的数据框生成的。 -
@Gulzar data12 是第一个数据帧的 id 和第二个数据帧的 id2 之间连接的结果,对吧?
-
@cody 如果我知道如何在 pandas 中正确执行连接,您将不会看到这个问题。请参阅edit2,我认为它回答了您的问题
-
好的。知道了。查看我的编辑。
-
嗨@Gulzar 我理解你的问题并根据要求编辑了我的答案。可能会有所帮助