Python和Pandas -带经度和纬度的距离

ni65a41a  于 2022-12-10  发布在  Python
关注(0)|答案(1)|浏览(174)

我试着比较经度和纬度上的点(在这种情况下是假人)之间的距离。
我可以导入数据,然后将纬度和经度数据转换为弧度,并得到以下Pandas输出:

lat      long
name                                
Veronica Session  0.200081  0.246723
Lynne Donahoo     0.775020 -1.437292
Debbie Hanley     0.260559 -1.594263
Lisandra Earls    1.203430 -2.425601
Sybil Leef       -0.029293  0.592702

从那里我试图比较不同的点,并得到它们之间的距离。
我遇到了一个似乎有用的帖子(https://stackoverflow.com/a/40453439/15001056),但我无法让它为我的数据集工作。
任何帮助计算点之间的距离将不胜感激。理想的我想扩大和优化路线一旦距离功能是工作。

b4wnujal

b4wnujal1#

我使用了你链接的答案中的函数,它工作得很好。但不能确认距离是否在你需要的单位内。

df['dist'] = \
haversine(df.lat.shift(), df.long.shift(),
             df.loc[1:, 'lat'], df.loc[1:, 'long'], to_radians=False)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Veronica Session    0.200081    0.246723    NaN
Lynne Donahoo       0.775020    -1.437292   9625.250626
Debbie Hanley       0.260559    -1.594263   3385.893020
Lisandra Earls      1.203430    -2.425601   6859.234096
Sybil Leef          -0.029293   0.592702    12515.848878

相关问题