Бывало такое, что запустили цикл, а он никак не завершается и когда закончится непонятно? Или применяете функцию, и ячейка зависает на неопределённый срок? Не очень здорово, когда код превращается в "чёрный ящик" с неизвестным временем выполнения☹️
К счастью, эту проблему можно решить при помощи библиотеки tqdm🔮 Вот несколько примеров её самых полезных возможностей:
➡️
for i in tqdm(range(1000)):Если итерируемый объект в цикле for обернуть в tqdm, мы увидим прогресс-бар, который покажет продвижение по итерациям цикла и оставшееся время выполнения.
➡️
df['col'_1] = df['col'].progress_apply(func_1)При работе с pandas-датафреймами обычный apply можно заменить на progress_apply, тогда также будет показываться прогресс-бар. Это бывает полезно при больших размерах датасета.
➡️
df['col_2'] = process_map(
func_2,
df['col'],
max_workers=8,
chunksize=64,
desc='Description',
colour='green'
)
А это "прогрессивный" аналог map, только здесь ещё можно распараллелить процесс при помощи аргументов max_workers и chunksize + везде можно добавлять подпись для прогресс-бара и его цвет💚Ещё больше интересных приёмов можно узнать из официальной документации🦋
Хорошего вечера и быстрого кода!⚡
#python@data_easy
#лайфхаки@data_easy
