【发布时间】:2017-05-11 12:06:06
【问题描述】:
我想从邮政编码中提取坐标作为新的 df 列。
geopy 模块的功能是:
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode('%s tn6 3rn')
print((location.latitude, location.longitude))
(51.0459837, 0.2192646)
我将其应用于单个值的函数有效:
def pcodeToCoor(x):
geolocator = Nominatim()
location = geolocator.geocode(x)
return ((location.latitude, location.longitude))
pcodeToCoor('%s tn6 3rn')
(51.0459837, 0.2192646)
但是当将函数传递给测试df时:
name postcode
0 jd tn6 3rn
1 hf en6 1dg
2 ss sw17 0ju
df['coordinate'] = df['postcode'].map(pcodeToCoor)
我收到AttributeError: 'NoneType' object has no attribute 'latitude。请注意,我可以通过从基本 api 功能中删除 %s 来重新创建此错误。
问题是,我如何在我的函数中使用%s?我想答案很简单,但我没有尝试过!
【问题讨论】: