【发布时间】:2019-12-02 08:25:45
【问题描述】:
我有两个包含 Lat 和 Lon 的 DataFrame。我想从另一个 DataFrame 中找到从一对 (Lat, Lon) 到 ALL (Lat, Lon) 的距离并获得最小值。我正在使用的包geopy。代码如下:
from geopy import distance
import numpy as np
distanceMiles = []
count = 0
for id1, row1 in df1.iterrows():
target = (row1["LAT"], row1["LON"])
count = count + 1
print(count)
for id2, row2 in df2.iterrows():
point = (row2["LAT"], row2["LON"])
distanceMiles.append(distance.distance(target, point).miles)
closestPoint = np.argmin(distanceMiles)
distanceMiles = []
问题是df1 有168K 行,df2 有1200 行。如何让它更快?
【问题讨论】:
标签: python-3.x pandas gis geopy