В эти дни я сталкиваюсь с действительно странной проблемой и не могу ее решить. Пожалуйста, помогите!Я хочу использовать API карты Google, чтобы получить долготу и широту адреса. Вот мое определение функции для запроса API:
def get_coordinates(df):
if pd.notnull(df['geocode']):
address=df['geocode']
response = requests.get("https://maps.googleapis.com/maps/api/geocode/json?address="
+ address+"&key=my-key")
json_response = response.json()
if len(json_response['results'])==0:
return 'None'
else:
coordinates=json_response['results'][0]['geometry']['location']
latitude=coordinates['lat']
longitude=coordinates['lng']
l_l=[latitude, longitude]
return l_l
else:
return 'None'
Я храню адрес в кадре данных.
Тогда я могу использовать df.apply для запроса API для каждого адреса:
test2['coor1'] = test2.apply(get_coordinates,axis = 1)
Но тогда действительно странная вещь: я знаю, что большинствоиз этого адреса должны быть в Бразилии, но когда я использую scatter для их построения, я замечаю, что многие из них находятся за пределами Бразилии.Так что, я думаю, что-то не так с запросом API. Затем я снова запускаю «Применить», и на этот раз некоторые адреса получают совершенно другое местоположение по сравнению с прошлым разом.Понятия не имею почему.Интересно, была ли у кого-то такая же проблема раньше. Большое спасибо!