我想计算两个gps坐标之间的距离(每个tripId的第一个和最后一个),以获得每次旅行的距离我的数据框看起来像这样
tripId latitude longitude timestamp
0 1817603 53.155273 8.207176 2021-05-24 00:29:22
1 1817603 53.155271 8.206898 2021-05-24 00:29:38
2 1817603 53.155213 8.206314 2021-05-24 00:29:44
3 1817603 53.155135 8.206429 2021-05-24 00:29:50
4 1817603 53.154950 8.206565 2021-05-24 00:29:56
... ... ... ... ...
195 1817888 53.092805 8.212095 2021-05-24 08:27:54
196 1817888 53.093024 8.211756 2021-05-24 08:27:59
197 1817888 53.093305 8.211383 2021-05-24 08:28:05
198 1817888 53.093594 8.211026 2021-05-24 08:28:10
199 1817888 53.093853 8.210708 2021-05-24 08:28:15
我对每个步骤都这样做了,s = pd.Series(haversine_vector(df, df.shift(),Unit.KILOMETERS), index=df.index, name='distance_K')
但我需要知道每个 ID 的整个行程的距离我用这个作为测试并且它有效,但我需要知道每次行程的确切持续时间(最终持续时间)
for i in range(1,df.shape[0]-1):
if df['tripId'][i]==df['tripId'][i+1]:
df['distance'][i]=df['distance'][i-1]+df['distance_K'][i]
else:
df['distance'][i]=df['distance_K'][i]