TGViewer
Мир аналитика данных Мир аналитика данных @analysts_world · 4.56K subscribers
Post #286 1.86K
⚙️Когда хочется видеть, что твой код реально что-то делает - tqdm

Наверняка вам знакомо ощущение, когда запускаешь тяжёлый запрос в Jupyter — ноутбук будто завис, а ты не понимаешь, идёт ли процесс вообще 🤯 Хочется хотя бы примерно видеть, сколько уже обработалось данных и сколько ещё ждать. И ждать ли вообще!

💡 Тут на помощь приходит библиотека tqdm — она показывает прогресс выполнения прямо в Jupyter или консоли.
Удобно, наглядно - все как мы любим!

Приведу простой примерчик с кодом. Сам sql запрос просто тащит данные из датафрейма df. Но нам тут и не надо мудрить. Нам просто запихнуть какой-то запрос в библиотеку tqdm и видеть процесс в реальном времени 👇

import pandas as pd
import numpy as np
from tqdm import tqdm
from pandasql import sqldf

np.random.seed(42)
df = pd.DataFrame({
"account_id": np.random.randint(1, 100, 50),
"user_id": np.arange(50),
"value": np.random.randint(1, 100, 50)
})

account_ids = df["account_id"].unique()
results = []

with tqdm(total=len(account_ids), desc="Processing", unit="account") as pbar:
for account_id in account_ids:
query = f"""
SELECT account_id, user_id, value
FROM df
WHERE account_id = {account_id}
"""
result = sqldf(query)
results.append(result)
pbar.update(1)

df_result = pd.concat(results, ignore_index=True)
df_result.head()


🧩 Что здесь происходит

🔸 tqdm cоздаёт прогресс-бар. В скобках указываем:
total=len(account_ids) — сколько всего итераций будет;
desc="Processing" — подпись слева («Processing»);
unit="account" — подпись единицы измерения в строке прогресса

🔸 pbar.update(1)
Каждый раз после обработки аккаунта добавляем «+1» к прогрессу.

🔸 sqldf(query)
Ну это база - позволяет писать sql прямо по датафрейму. На работе у каждого свои коннекторы конечно.

🔸 pd.concat(results)
Собирает все маленькие датафреймы обратно в один большой.

✔️ В следующий раз не гадай, «повис ли Юпитер» — пусть tqdm честно покажет, что код жив, пашет и уже почти дошёл до конца!
  • 🔥 14
  • ✍ 9
  • ❤ 3
  • ❤‍🔥 1
More from @analysts_world
  1. Sep 21, 2026📊 Задачка с собеседования Ну что, по итогам голосования большинство хотят задачки и sql.…
  2. Sep 14, 2026Post #345
  3. Sep 14, 2026Что-то я тут прям зачастила с A/B тестами 😅 Смотрю на последние посты и такое чувство, чт…
  4. Sep 1, 2026🎒 С 1 сентября, друзья! Сегодня как раз отправила своих детей в школу – и вот это чувство…
  5. Aug 24, 2026Вне выборки Обычно здесь про SQL, Python и AB-тесты. Но не всё, что важно, попадает в выбо…
  6. Aug 20, 2026Fuckup Night от создателей Trisigma, Ares и karpov.courses Согласитесь, ивенты, где все де…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →