熊猫与两列之间的字典匹配,并创建一个新列

时间:2019-07-15 19:30:46

标签: python pandas

我有一个df1 / dic,如下所示:

Station_to    Station_from      Distance_km
A                AA               1.1
A                BB               2.2
A                CC               3.3
B                AA               4.4
...

如下所示的df2:

Origin    Destination      
A          CC
A          DD
B          AA
...

我想在df2中创建一个新列['Distance'],并将起点和终点与df1 / dic匹配。

理想的结果如下:

Origin    Destination      Distance
A          CC               3.3
A          DD               Nan
B          AA               4.4
...

有人可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是使用pd.merge操作,但它将创建一个新的数据框,因此您可能要删除前一个数据框。如果df1和df2是两个数据帧,则:

df3 = df2.merge(df1, how='right',left_on=['Stationto','Stationfrom'],right_on=['origin','destination'])

以后,您可以从df3中删除不需要的列