【发布时间】:2016-12-09 10:55:07
【问题描述】:
我正在尝试使用 GeoPy 将一些地址转换为数据框中的坐标。有些地址无效,但我不知道哪些地址。因此我需要图书馆跳过那些无效的或将它们更改为Null 或至少raise 错误的确切字段。
以下工作正常:
import pandas as pd
import geopy
from geopy.geocoders import Nominatim
geolocator = Nominatim()
df = pd.DataFrame({'city': ['south hampton', 'north park']})
df['CityCoordinates'] = df['city'].apply(geolocator.geocode,timeout=1000000).apply(lambda x: (x.latitude, x.longitude))
但是一旦出现无效地址,整个事情就会中断:
df = pd.DataFrame({'city': ['south hampton', 'Southhamfdjhfdjhfgjgf', 'north park']})
df['CityCoordinates'] = df['city'].apply(geolocator.geocode, timeout=1000000).apply(lambda x: (x.latitude, x.longitude))
Geocoder 等其他库似乎也无法处理异常。 Lambda 似乎不允许错误处理。
如何通过异常处理来解决这个问题。
【问题讨论】:
标签: python error-handling coordinates geocoding geopy