【发布时间】:2016-04-25 23:17:58
【问题描述】:
我正在使用 2 个数据框。一个有一堆位置和坐标(经度,纬度)。另一个是天气数据集,其中包含来自世界各地气象站的数据及其各自的坐标。我正在尝试将最近的气象站连接到我的数据集中的每个位置。气象站名称和我的位置名称不匹配。
我试图通过坐标中最接近的匹配来链接它们,但不知道从哪里开始。
我正在考虑使用
np.abs((location['latitude']-weather['latitude'])+(location['longitude']-weather['longitude'])
每个例子
位置...
Location Latitude Longitude Component \
A 39.463744 -76.119411 Active
B 39.029252 -76.964251 Active
C 33.626946 -85.969576 Active
D 49.286337 10.567013 Active
E 37.071777 -76.360785 Active
天气...
Station Code Station Name Latitude Longitude
US1FLSL0019 PORT ST. LUCIE 4.0 NE 27.3237 -80.3111
US1TXTV0133 LAKEWAY 2.8 W 30.3597 -98.0252
USC00178998 WALTHAM 44.6917 -68.3475
USC00178998 WALTHAM 44.6917 -68.3475
USC00178998 WALTHAM 44.6917 -68.3475
输出将是位置数据框上的一个新列,其中车站名称是最接近的匹配
但是我不确定如何循环通过两者来完成此操作。任何帮助将不胜感激..
谢谢, 斯科特
【问题讨论】:
-
你能给出你的 2 个 data.frames 的样本和预期的输出吗?
-
除非您特别想在 python 中执行此操作,否则您应该考虑使用 postGIS 查询,它们对于您的情况可能非常快。
-
更新以反映每个数据帧的样本和所需的输出
-
@sokeefe1014 你试过geopandas 用于地理数据处理吗?