微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

最近的 [n] 来自包含 name,Lat,Lon

如何解决最近的 [n] 来自包含 name,Lat,Lon

这类似于“计算数据帧所有行之间的成对欧几里得距离”的问题,但足够不同,我无法解决它。 我需要计算df的每一行对的距离。我的数据使用地理位置(纬度/经度),我只想为每一行保留最近的 [n] 距离。 [n] 可能约为 2-4,我需要能够轻松更改它。 对于下面的示例数据,我们可以假设 n 为 4。 我预计使用 geopy 库来计算距离,但我对其他想法持开放态度。 我更喜欢用 python3 来做这件事,但如果有必要也可以用 R。

结果将是原始 df,最近的 n 个距离作为新列附加(例如 name,Lat,Lon,dist1,dist2...dist[n])

这是一个示例数据集(随机生成的值)。仅供参考,实际数据可能包含几千行。

名称经纬度

Loc1 44.66441018 -123.2355806
Loc2 43.63339968 -121.6368505
Loc3 43.01359186 -121.8880725
Loc4 42.13022628 -123.353379
Loc5 43.10387746 -121.8720709
Loc6 44.36081697 -121.5579505
Loc7 44.63488925 -120.1859593
Loc8 42.94844038 -122.9740901
Loc9 45.45867936 -122.8534799
Loc10 45.54903611 -123.5526597
Loc11 45.70254508 -123.2783524
Loc12 43.37037115 -121.2808564
Loc13 42.81085366 -122.4795008
Loc14 40.84801063 -121.4846294
Loc15 40.90921583 -123.3824145
Loc16 44.42065858 -123.391423
Loc17 44.78218312 -122.889423
Loc18 43.1648948 -122.0042023
Loc19 43.99565961 -123.4848649
Loc20 40.3572252 -120.6249965
Loc21 44.65207709 -123.2811107
Loc22 43.63687606 -120.220772
Loc23 40.10310862 -123.6993375
Loc24 42.49619037 -121.1787526
Loc25 42.89022092 -122.3227187
Loc26 44.27007357 -120.1975954
Loc27 40.7639557 -121.2778748
Loc28 42.8541381 -120.0986083
Loc29 40.19218918 -120.3463247
Loc30 41.45825213 -123.1427734
Loc31 43.58633189 -122.4431385

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。