[英]How to do multiple joins at same in pandas python?
I have data frame like below, where I need to join two tables and create the expected output as shown below and how can this be done我有如下所示的数据框,我需要在其中连接两个表并创建如下所示的预期输出以及如何完成此操作
df1 df1
Zone Country
EU1 AT
EU1 BE
EU1 FR
AP2 IN
AP2 NZ
df2 df2
Origin_Zone Dest_zone Key
EU1 EU1 A
AP2 EU1 B
Expected output预期输出
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
How to create the expected output in pandas如何在熊猫中创建预期的输出
Use DataFrame.merge
by both zones, then rename columns and select expected columns by list:两个区域都使用
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.