繁体   English   中英

在Pandas DataFrame中,如何合并/合并两个具有左表中所有行的DataFrame,并从右DataFrame中重复值

[英]In Pandas DataFrame how to merge/join two DataFrame that has all row from left table and repeat values from right DataFrame

如果df1看起来像:

Build_ID, Request_ID, Group_ID, Average
185, 100, G1, 200
186, 100, G1, 201
185, 102, G1, 203
186, 102, G1, 205
185, 200, G3, 200
186, 200, G3, 201
185, 202, G3, 203
186, 202, G3, 205

和df2看起来像:

Build_ID, Group_ID, Group_Average
185, G1, 300
186, G1, 301
185, G3, 401
186, G3, 402

最终结果应如下所示:

 Build_ID, Request_ID, Group_ID, Average, Group_Average
    185, 100, G1, 200, 300
    186, 100, G1, 201, 301
    185, 102, G1, 203, 300
    186, 102, G1, 205, 301
    185, 200, G3, 200, 401
    186, 200, G3, 201, 402
    185, 202, G3, 203, 401
    186, 202, G3, 205, 402

对于每个Group_ID和Build_ID,基本上都重复了df1和df2的Group_Average的所有行。 我尝试使用不同的关节进行合并和合并,但无法获得所需的结果。 谢谢

那是你要的吗?

In [60]: df1.merge(df2, on=['Build_ID','Group_ID'])
Out[60]:
   Build_ID  Request_ID Group_ID  Average  Group_Average
0       185         100       G1      200            300
1       185         102       G1      203            300
2       186         100       G1      201            301
3       186         102       G1      205            301
4       185         200       G3      200            401
5       185         202       G3      203            401
6       186         200       G3      201            402
7       186         202       G3      205            402

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM