从不同的数据帧测量两点之间的距离

2024-04-26 07:04:56 发布

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

我有两个数据帧(df1和df2)。两个数据帧的长度不同。df1包含有关各种事件的信息,df2包含特定的位置坐标。对于df1中的每个事件,我想测量它与df2中每个位置的距离。所需的输出是一个数据帧,其中包含距离df2的位置点不到1英里的事件。实现这一目标的最佳方法是什么?任何帮助都将不胜感激!数据帧和所需输出示例如下:

df1 

  date       lat     long      event 

10.02.91   32.2324  -98.1311   event_A
12.05.89   45.3134  -79.3244   event_B
14.06.90   23.1332  -45.0098   event_C


df2

  Latitude_1   Longitude_2   

   12.3456    90.03421   
   12.3234    89.34134   
   14.2344    78.13432   
   45.2453    89.23255   
   44.2345   -10.2344    

期望输出:

 date     Lat      Long    event distance Latitude_1 Latitude_2 

12.05.89 45.3134 -79.3244 event_B  0.2     12.3456    90.03421
12.05.89 45.3134 -79.3244 event_B  0.1     12.3234    89.34134
12.05.89 45.3134 -79.3244 event_B  0.6     45.2453    89.23255
14.06.90 23.1332 -45.0098 event_C  0.3     12.3456    90.03421

Tags: 数据方法event信息距离示例目标date
1条回答
网友
1楼 · 发布于 2024-04-26 07:04:56

可以使用geoPy模块来测量lat和long两点之间的距离。至于如何为每一对实现这一点,我只需要使用panda的merge来合并两个数据帧,为distance添加一列,然后遍历每一行,使用geopy并将结果设置到distance列中

相关问题 更多 >