【发布时间】:2021-03-31 04:27:40
【问题描述】:
我正在使用 for 循环遍历数据框中的行并将函数应用于其中两列中的值,以使用 geopy 从城市名称获取坐标。一些值会引发错误,我想在 for 循环内使用 try / except(或 catch?),以便在将 geopy 应用于其中一个值引发错误的情况下,python 只会用“无”填充该行' 然后我可以返回并删除那些带有 'None' 的行。有没有办法做到这一点?这是我正在使用的代码:
list_lat = [] # create empty list for lat
list_long = [] # create empty list for long
for index, row in df.iterrows(): # iterate over rows in dataframe
try:
City = row['City Name']
State = row['State Name']
query = str(City)+','+str(State)
location = geolocator.geocode(query)
lat = location.latitude
long = location.longitude
#print(lat, long) #testing purposes
list_lat.append(lat)
list_long.append(long)
except Exception as e:
# lat = 'None'
# long = 'None'
【问题讨论】:
标签: pandas dataframe try-catch geopy nominatim