【发布时间】:2018-09-13 09:03:33
【问题描述】:
我有一个大约 20k 行的 Pandas 数据框,我正在尝试按地址列将地理编码为纬度/经度坐标。
我如何使用time.sleep() 或其他功能来阻止我现在得到的Too Many Requests 429 error 的OSM Nominatim?
这是我为此使用的代码:
from geopy.geocoders import Nominatim
from geopy.distance import vincenty
geolocator = Nominatim()
df['coord'] = df['address'].apply(geolocator.geocode).apply(lambda x: (x.latitude, x.longitude))
df.head()
提前致谢!
【问题讨论】:
-
pandas
apply方法使用geopy主干同时发出太多请求,您可以在文档中看到此处最多可以发出 1 个请求,operations.osmfoundation.org/policies/nominatim跨度>
标签: python pandas geocoding geopy