从另一个datafram中为dataframe中的每一行获取适当的数据

2024-04-19 01:47:50 发布

您现在位置:Python中文网/ 问答频道 /正文

假设熊猫有两个数据帧。一个df1包含机场和其他信息,我有另一个数据帧df2,其中包含这些机场的位置(纬度、经度)。我想将df2中的适当数据分配给df1中的每一行,如何才能比遍历所有可能的数据更优雅、更快地完成这项工作?两个示例图像如下所示:

Example of df1

Example of df2

    ORIGIN  DEST    DIVERTED
0   ANC     SEA     0
1   LAX     PBI     0
2   SFO     CLT     1


        IATA    LATITUDE    LONGITUDE
  17    ANC     61.17432    -149.99619
  277   SEA     47.44898    -122.30931
  176   LAX     33.94254    -118.40807
  235   PBI     26.68316    -80.09559
  278   SFO     37.619      -122.37484
  66    CLT     35.21401    -80.94313

Tags: of数据信息exampledf1df2机场纬度
1条回答
网友
1楼 · 发布于 2024-04-19 01:47:50

假设您有以下两个数据帧:

df1型:

  IATA info1 info2 info3
0  ABI   bla   bla   bla
1  ABE   bla   bla   bla

df2型:

  IATA  lat  long
0  ABE   40    90
1  ABI   20   100

可以使用以下代码合并这两个数据帧:

dfNew = pd.merge(df1, df2, on='IATA', how='left')

输出:

  IATA info1 info2 info3  lat  long
0  ABI   bla   bla   bla   20   100
1  ABE   bla   bla   bla   40    90

在您的情况下,可以执行以下操作:

dfNew = pd.merge(df1, df2, left_on='ORIGIN', right_on='IATA', how='left').drop('IATA', axis=1)

相关问题 更多 >