我正在尝试查找数据框中位置的邮政编码。我有三个位置和它们的纬度和经度,我把它们命名为纬度和经度。
search = SearchEngine(simple_zipcode=True)
from uszipcode import Zipcode
def get_zipcode(lat, lon):
result = search.by_coordinates(lat = lat, lng = lon, returns = 1).to_json()
return result[1].zipcode
lat = noaa_df['lat']
lon = noaa_df['lon']
loc_df = pd.DataFrame({'lat':lat, 'lon':lon})
loc_df['zipcode'] = df.apply(lambda x: get_zipcode(x.lat,x.lon), axis=1)
我是python新手,我正在使用uszipcodes搜索引擎函数从纬度和经度反转地理编码以获得邮政编码,我的最终目标是将每个位置的邮政编码添加到数据框中的新列中。但是,我一直遇到这个错误: AttributeError: 'Series' object has no attribute 'lat'
2条答案
按热度按时间eblbsuwk1#
我认为问题在于
df
是一个系列,不是一个 Dataframe 。此外,.to_json()
方法是不必要的。以下是一些应该有效的代码:
请注意,邮政编码列表的索引为零,因此上面的代码将提取满足搜索条件的第二个邮政编码。第一个邮政编码是
result[0].zipcode
.lo8azlld2#
我认为您正在尝试将一个系列放入 Dataframe 中。
试试这个