python - 计算数据框中两个地理编码之间的距离
问题描述
需要使用此数据帧(名为 df)的半正弦距离来获得经纬度对的距离。要求是在同一数据框 (df) 的新列中添加距离。
姓名 | 地理1 | 地理2 |
---|---|---|
美国广播公司 | (52.2296756,21.0122287) | (51.3490756,23.0922287) |
XYZ | (52.3490756,23.0922287) | (51.2296756,21.0122287) |
解决方案
如果您参考此Python 的haversine
distance实现:
df["distance"] = df[["geo1", "geo2"]].apply(lambda x: haversine(*x.geo1, *x.geo2), axis="columns")
>>> df
Name geo1 geo2 distance
0 ABC (52.2296756, 21.0122287) (51.3490756, 23.0922287) 248.451222
1 XYZ (52.3490756, 23.0922287) (51.2296756, 21.0122287) 258.456800
推荐阅读
- c# - ASP.NET Core 在 Program.cs 和 Startup.cs 中捕获并显示错误
- database - 如何打开 DataFlex 2.3b .dat 文件
- python - 如何在应用程序启动的同时调用 python 后台作业
- javascript - 从javascript中动态创建的行中提取数据
- reactjs - react-i18next 出现错误尝试导入错误
- python-3.x - 如何使用另一列中的一列替换字符串值?
- python - 在嵌套列表中展平内部列表
- asp.net-core - .net 核心从 HttpContext 检索控制器名称和操作名称
- firefox-addon-webextensions - Firefox 扩展弹出背景颜色
- odoo - 我安装在本地 Ubuntu 服务器上的 odoo 在断电后不断崩溃