python - 在熊猫数据框中提取城市、纬度和经度
问题描述
我有一个地址列,其中包含一个地方的完整位置,例如(沙特国王路,Al Khobar 31952 沙特阿拉伯)。我想在新列中提取城市以及另一个新列中的纬度和经度点。
我正在按照以下方法将地址列中的所有值传递给函数,但它不起作用,有什么想法吗?
解决方案
利用:
geolocator = Nominatim(user_agent="StackOverFlow", timeout=3)
df = pd.DataFrame({'locations': ['King Saud Road, Al Khobar 31952 Saudi Arabia',
'123 Main Street, Los Angeles, CA 90034, USA']})
df['location_info'] = df.locations.apply(lambda x: geolocator.geocode(x, addressdetails=True, language='en'))
df['latitude'] = df.location_info.apply(lambda x: x.raw['lat'])
df['longitude'] = df.location_info.apply(lambda x: x.raw['lon'])
df['city'] = df.location_info.apply(lambda x: x.raw["address"]['city'])
df = df.drop(['location_info'], axis=1)
推荐阅读
- kubernetes - Helm 更改部署工件的名称
- java - Spring AOP切面不拦截注解的方法
- missing-data - 使用具有 NaN 值的 SMOTE
- java - 等价于 graal.js 脚本引擎中的 Nashorn 的 importPackage
- sql-server - 执行 SQL Server 的任务怎么可能被并行调用?
- android - 如何获取触摸事件的绝对位置?
- git - 克隆外部(远程)存储库时的建议
- ios - 在 iOS13 上编辑加载到 WKWebview 上的 HTML 文件时围绕 html 内容的边框
- python - PyMySQL:连接被主机中的软件中止
- xaml - 如何防止在uwp中特定宽度和高度后窗口缩小