TGViewer
DS & ML | YeaHub DS & ML | YeaHub @yeahub_data_science · 483 subscribers
Post #248 106
#полезное
👨‍💻 Как использовать DuckDB с Python: практическое руководство по аналитике

DuckDB — это современная in-process аналитическая СУБД, разработанная как “SQLite для аналитики”. Она идеально подходит для обработки больших объёмов данных на локальной машине без необходимости поднимать сервер или использовать тяжёлые хранилища.

Что делает DuckDB особенной?
- Работает как библиотека внутри Python (через `duckdb`)
- Поддерживает SQL-запросы напрямую к pandas DataFrame, CSV, Parquet, Arrow и другим источникам
- Оптимизирована под аналитические запросы: агрегации, группировки, фильтрации
- Мгновенно работает с большими файлами без предварительной загрузки

Пример рабочего сценария:

1⃣ Чтение и анализ Parquet-файла:

import duckdb

duckdb.sql("SELECT COUNT(*), AVG(price) FROM 'data.parquet'")


2⃣ Интеграция с pandas:

import pandas as pd

df = pd.read_csv("data.csv")
result = duckdb.sql("SELECT category, AVG(value) FROM df GROUP BY category").df()


3⃣ Объединение нескольких источников:

duckdb.sql("""
SELECT a.user_id, b.event_time
FROM 'users.parquet' a
JOIN read_csv('events.csv') b
ON a.user_id = b.user_id
""")


Почему это важно:
- Вы можете использовать SQL и pandas одновременно
- DuckDB быстрее pandas в большинстве аналитических задач, особенно на больших данных
- Поддержка стандартов данных (Parquet, Arrow) даёт нативную интеграцию с экосистемой Data Science
- Не требует настройки: просто установите через pip install duckdb

Применения:
🔵 Локальный анализ данных (до десятков ГБ) — без Spark
🔵 Объединение таблиц из разных форматов (Parquet + CSV + DataFrame)
🔵 Прототипирование ETL-пайплайнов и построение дашбордов
🔵 Быстрая агрегация и отчёты по логам, BI-данным, IoT-стримам и пр.

Советы
🟡 Используйте read_parquet, read_csv_auto и from_df() для гибкой загрузки данных
🟡 Результаты запросов можно конвертировать обратно в pandas через .df()
🟡 DuckDB поддерживает оконные функции, GROUP BY, JOIN, UNION, LIMIT, подзапросы и многое другое — это полноценный SQL-движок
Подробный гайд

👉Новости 👉База вопросов
More from @yeahub_data_science
  1. Oct 12, 2026#Собес #asyncio #coroutine #event_loop 🤔 Корутины и event loop. 💬 Кратко: Корутины — это…
  2. Oct 9, 2026#trainer #курсы #тренажеры 📚 CodeChef Онлайн-платформа программирования, которая позволяе…
  3. Oct 8, 2026#Собес #index #select #performance 🤔 Как индексы влияют на производительность SELECT-запр…
  4. Oct 7, 2026#Собес #garbage_collection #memory_management 🤔 Сборщик мусора и счётчик ссылок? 💬 Кратк…
  5. Oct 5, 2026#Собес #ensemble_methods #random_forest #overfitting 🤔 Как реализовать ансамблевый метод…
  6. Oct 2, 2026#trainer #печать 📚 Тренируем печать Быстро печатать — не просто приятно, а выгодно. Когда…
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 →