我在 Python 中从地理编码器中提取的一些坐标没有保存在我创建的变量中
some coordinates that I extracted from geocoder in Python are not saving in the variable I created
enter code here
您好,
我想保存一些通过地理编码提取的坐标(纬度和经度),我遇到的问题是这些坐标没有保存,我似乎无法将它们作为列添加到我使用 [=21] 生成的 table =]
我收到这个错误:
AttributeError: 'NoneType' 对象没有属性 'latitude'
import pandas
from geopy.geocoders import Nominatim
df1= pandas.read_json("supermarkets.json")
nom= Nominatim(scheme= 'http')
lis= list(df1.index)
for i in lis:
l= nom.geocode(list(df1.loc[i,"Address":"Country"]))
j=[]+ [l.latitude]
k=[]+ [l.longitude]
我希望有一种方法可以保存坐标并将它们包含在我的 table 中。谢谢
nom.geocode(..)
[geopy-doc] 可能会导致 None
给定无法找到地址,或者没有及时回答查询。这在文档中指定:
Return type:
None
, geopy.location.Location
or a list
of them, if exactly_one=False
.
from operator import attrgetter
locations = df['Address':'Country'].apply(
lambda r: nom.geocode(list(r)), axis=1
)
nonnull = locations.notnull()
df.loc[nonnull, 'longitude'] = locations[nonnull].apply(attrgetter('longitude'))
df.loc[nonnull, 'latitude'] = locations[nonnull].apply(attrgetter('latitude'))
我们首先查询所有位置,接下来我们检查成功的内容,并检索该位置的 latitude
和 latitude
。
enter code here
您好,
我想保存一些通过地理编码提取的坐标(纬度和经度),我遇到的问题是这些坐标没有保存,我似乎无法将它们作为列添加到我使用 [=21] 生成的 table =]
我收到这个错误: AttributeError: 'NoneType' 对象没有属性 'latitude'
import pandas
from geopy.geocoders import Nominatim
df1= pandas.read_json("supermarkets.json")
nom= Nominatim(scheme= 'http')
lis= list(df1.index)
for i in lis:
l= nom.geocode(list(df1.loc[i,"Address":"Country"]))
j=[]+ [l.latitude]
k=[]+ [l.longitude]
我希望有一种方法可以保存坐标并将它们包含在我的 table 中。谢谢
nom.geocode(..)
[geopy-doc] 可能会导致 None
给定无法找到地址,或者没有及时回答查询。这在文档中指定:
Return type:
None
,geopy.location.Location
or alist
of them, ifexactly_one=False
.
from operator import attrgetter
locations = df['Address':'Country'].apply(
lambda r: nom.geocode(list(r)), axis=1
)
nonnull = locations.notnull()
df.loc[nonnull, 'longitude'] = locations[nonnull].apply(attrgetter('longitude'))
df.loc[nonnull, 'latitude'] = locations[nonnull].apply(attrgetter('latitude'))
我们首先查询所有位置,接下来我们检查成功的内容,并检索该位置的 latitude
和 latitude
。