python - 如何使用 Geopy 从大数据框的坐标中获取邮政编码
问题描述
我有一个大约 750,000 行的数据框。我在 2 个不同的列中有经度和纬度。我想使用 geopy 来获取每一行的邮政编码。我当前的代码运行了一个小时,到目前为止还看不到尽头。有没有办法更快地做到这一点?
def get_zipcode(df, geolocator, latitude_column, longitude_column):
location = geolocator.reverse((df[latitude_column], df[longitude_column]))
return location.raw['address']['postcode']
geolocator = geopy.Nominatim(user_agent='dsir group project')
from geopy.extra.rate_limiter import RateLimiter
geocode = RateLimiter(geolocator.geocode, min_delay_seconds=1)
df.apply(get_zipcode, axis=1, geolocator=geolocator, lat_column='latitude', long_column='longitude')
解决方案
推荐阅读
- java - 如何从命令行在 jar 文件中运行测试类?
- java - 从带有 NP 的 Python 移植到 Java - 传递给 np.sum 时,不能将序列乘以“列表”的非整数类型
- winapi - UI 自动化 ScrollPattern 是否有边界矩形或者是否有可靠的方法来获取它?
- git - 如何在分支之间切换时链接到 git repo 的内容
- python - 将一个字典的值与另一字典的键匹配(Python)
- html - 照片库过滤器在第一次加载时看起来损坏但在我刷新时看起来很好?
- docker - Hsaura docker-compose 文件返回错误 - 以代码 0 退出
- angular - 在 angular 中编写角度配置
- graphql - 我怎样才能 spyOn `useMutation` 以便我可以看到传递的值是什么?
- nginx - 通过 nginx-rtmp 流式传输树莓派相机