【发布时间】:2018-01-06 02:31:17
【问题描述】:
我在 Jupyter Notebook 中有以下数据框,其中包含from geopy.geocoders import Nominatim 和 import pandas as pd 的 GPS 坐标列表。
stop_id Lat Long
0 2 53.352280 -6.263668
1 3 53.352345 -6.263758
2 4 53.352604 -6.264143
3 6 53.352783 -6.264417
4 7 53.352867 -6.264543
5 8 53.353287 -6.265152
我一直在尝试向 GPS 坐标添加一个填充了相应地址的新列。
为此我尝试了
df['address'] = geolocator.reverse((df['Lat'], df['Long']))
但收到以下错误消息:
ValueError: 必须是坐标对或点。
然后我创建了另一个列 [LatLong]
df['LatLong'] = df[df.columns[1:]].apply(
lambda x: ', '.join(x.dropna().astype(float).astype(str)),axis=1)
stop_id Lat Long LatLong
0 2 53.352280 -6.263668 53.35228, -6.263668
1 3 53.352345 -6.263758 53.352345, -6.263758
2 4 53.352604 -6.264143 53.352604, -6.264143
3 6 53.352783 -6.264417 53.352783, -6.264417
4 7 53.352867 -6.264543 53.352867, -6.264543
5 8 53.353287 -6.265152 53.353287, -6.265152
然后我运行了以下代码:
df['address'] = geolocator.reverse(df['LatLong'])
但是,我只是收到完全相同的错误消息。
我上面使用的代码改编自本网站上对类似问题和 GeoPy 文档的其他答案,所以我假设我的代码不够精确,无法以正确的方式提取 GPS 坐标以进行 geopy。
谁能指出我的错误?
【问题讨论】:
标签: python python-3.x pandas jupyter-notebook geopy