【发布时间】:2021-11-22 05:40:02
【问题描述】:
我在 pandas 数据框中有纬度、经度和地址。用户输入一个地址,我想根据 lat、long 查找与 pandas 数据帧相关的详细信息。这是我的代码:
import pandas as pd
df_geo = pd.DataFrame({'Address': ['Addr1','Addr2','Addr3'],
'Value': [100, 101, 103],
'Lat': [33.515226, 33.51529, 33.515230],
'Long': [-112.094456, -112.094459, -112.094464]})
我使用 API 对地址进行地理编码并获取经纬度列表。
[33.515227, -112.094457]
如何在 pandas 数据框中找到交点或最近的坐标并拉出 Address 和 Value 字段?我们有地理编码 API。 Pandas DataFrame 可能相当大,因此如果可能,请使用 Python 地理库之一寻找有效的解决方案。
【问题讨论】:
-
您可以通过类似 hasrsine 的方法传递每一行来计算距离并将该距离放在其他列中。然后按值分组,并过滤距离最小的那些
-
请在问题中发布预期输出。
-
@FaikaMajid 对,这是有道理的。但是,我正在寻找一种更好的方法来做到这一点,因为 N 可能相当大,我想避免计算可能会增加时间复杂度的成对距离。
标签: python pandas geospatial