我有两个数据帧(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
可以使用geoPy模块来测量lat和long两点之间的距离。至于如何为每一对实现这一点,我只需要使用panda的merge来合并两个数据帧,为distance添加一列,然后遍历每一行,使用
geopy
并将结果设置到distance
列中相关问题 更多 >
编程相关推荐