python - 如何从数据框中的地址列表中查找坐标
问题描述
我正在尝试在我的数据框中为经度和纬度创建 2 列,我想通过使用名为“详细信息”的地址列来查找它们。
我试过从
geopy.extra.rate_limiter import RateLimiter
locator=Nominatim(user_agent="MyGeocoder")
results['location']=results['Details'].apply
results['point']=results['location'].apply(lambda loc:tuple(loc['point']) if loc else None)
results[['latitude', 'longitude',]]=pd.DataFrame(results['point'].tolist(), index=results.index)
但这给出了错误“方法对象不可下标”
我想创建一个循环来获取每个地址的所有坐标
Details Sale Price Post Code Year Sold
1 53 Eastbury Grove, London, W4 2JT Flat, Lease... 450000.0 W4 2020
2 Flat 148 Wedgwood House Lambeth Walk, London, ... 325000.0 E11 2020
3 63 Russell Road, Wimbledon, London, SW19 1QN ... 800000.0 W19 2020
4 Flat 2 9 Queens Gate Place, London, SW7 5NX F... 400000.0 W7 2020
5 83 Chingford Mount Road, London, E4 8LU Freeh... 182000.0 E4 2020
... ... ... ... ...
47 702 Rutherford Heights Rodney Road, London, SE... 554750.0 E17 2015
48 Flat 48 Highlands Court Highland Road, London,... 340000.0 E19 2015
49 5 Mount Nod Road, London, SW16 2LQ Flat, Leas... 395000.0 W16 2015
50 6 Woodmill Street, London, SE16 3GG Terraced,... 1010000.0 E16 2015
51 402 Rutherford Heights Rodney Road, London, SE... 403200.0 E17 2015
300 rows × 4 columns
解决方案
尝试这个
import pandas as pd
import geopandas
import geopy
from geopy.geocoders import Nominatim
from geopy.extra.rate_limiter import RateLimiter
locator = Nominatim(user_agent="myGeocoder")
geocode = RateLimiter(locator.geocode, min_delay_seconds=1)
def lat_long(row):
loc = locator.geocode(row["Details"])
row["latitude"] = loc.latitude
row["longitude"] = loc.longitude
return row
results.apply(lat_long, axis=1)
推荐阅读
- python - 如何在序列中注册 ID 和出现次数(或次数)?
- scala - 需要帮助来解决我的代码中的一个问题
- android - 使用 Twilio 可编程聊天聊天模块启用 Proguard 后无法正常工作
- java - JPQL - null 到布尔值?
- javascript - 调用 REST API、JavaScript 时的 CORS 策略
- visual-studio - 创建 VS 2019 的离线安装 - 错误:安装完成但出现错误
- canvas - nltk tree.draw 无法绘制中文的语法树
- javascript - Rails 6 - 未捕获的 ReferenceError:未定义 MStepper
- swift - 如何从 Spotlight 索引和取消索引 NSUserActivities
- git - 为什么没有 git showtool?