Как ускорить цикл For ?

Алекс1408

Новичок
Пользователь
Ноя 18, 2020
11
1
3
Есть цикл который проходится по строковым значениям (адрес дома) в столбце. На выходе получается широта и долгота по адресу.
40 минут уходит на обработку 5 тыс значений. Очень долго.

Есть ли способ ускорить код?
Пробовал распаралеливание, ничего не дало. Возможно не так делал. Плюс обработка исключений вносит сложность try и except если list comprehension делать.
Переводил в numpy aray. Делал через функцию def.
Хотел сделать бачами, разбиение на части данных - не получается.

В общем буду благодарен за помощь.

Код:
from geopy.geocoders import Nominatim
from tqdm import tqdm

geo_lat = []
geo_lon = []

nominatim = Nominatim(user_agent='user')

for geo in tqdm(geogr):
    try:
        nominatim.geocode(geo).raw
    except:
        {'lat': '0', 'lon': '0'}
           
    geo_lat.append('lat')
    geo_lon.append('lon')
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Попробуй https://github.com/heynemann/tornado-geopy (асинхронная версия)
 

Форум IT Специалистов