如何解决如何在Pandas Python中同时进行多个联接?
df1
Zone Country
EU1 AT
EU1 BE
EU1 FR
AP2 IN
AP2 NZ
df2
Origin_Zone Dest_zone Key
EU1 EU1 A
AP2 EU1 B
预期输出
Org Dest Key
AT AT A
AT BE A
AT FR A
BE AT A
BE BE A
BE FR A
FR AT A
FR BE A
FR FR A
IN AT B
IN BE B
IN FR B
NZ AT B
NZ BE B
NZ FR B
如何在熊猫中创建预期的输出
解决方法
两个区域都使用DataFrame.merge
,然后重命名列并按列表选择所需的列:
df = (df2.merge(df1,left_on='Origin_Zone',right_on='Zone')
.merge(df1,left_on='Dest_zone',right_on='Zone')
.rename(columns={'Country_x':'Org','Country_y':'Dest'})
[['Org','Dest','Key']])
print (df)
Org Dest Key
0 AT AT A
1 AT BE A
2 AT FR A
3 BE AT A
4 BE BE A
5 BE FR A
6 FR AT A
7 FR BE A
8 FR FR A
9 IN AT B
10 IN BE B
11 IN FR B
12 NZ AT B
13 NZ BE B
14 NZ FR B
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。