准备Haversine距离的数据

时间:2019-11-11 11:49:26

标签: python pandas haversine

我想为id的每个唯一值计算haversine距离:

from haversine import haversine, Unit

data = 

id latitude longitude 
a        11        22
a        33        44
b        55        66
b        77        88
c        99        11
c        12        13

start = (11,22) # (lat, lon)
end = (33,44)
haversine(start,end)*1000

如何为其创建循环?因为实际数据有2000+ id s

关于Hvaersine的问题很好,但是没有关于数据准备的答案。这个问题主要是关于数据准备的

1 个答案:

答案 0 :(得分:2)

2000并不多,您可以使用简单的python循环进行处理。但是,如果您希望使用更多的熊猫本机方法,则可以执行以下操作:

df.groupby('id').apply(lambda g: haversine(g.iloc[0], g.iloc[1])) * 1000

假设您的数据集中每个id始终有一对点。

输出:

id
a    3.320380e+06
b    2.601419e+06
c    9.673377e+06