TGViewer
Математика Дата саентиста Математика Дата саентиста @data_math · 14.3K subscribers
Post #785 3.79K
🦆 Как использовать 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-движок

🔗 Подробный гайд:
https://www.kdnuggets.com/integrating-duckdb-python-an-analytics-guide

#DuckDB #Python #DataScience #Analytics #SQL #Pandas #Parquet #BigData
  • 🔥 10
  • ❤ 7
  • 👍 3
  • 👎 1
  • 🥰 1
More from @data_math
  1. Sep 25, 2026💰 У пяти крупнейших гиперскейлеров уже $2,8 трлн будущих обязательств По данным Moody’s,…
  2. Sep 25, 2026Avito DS Meetup: RL, AI-агенты и BidCorrection 🚀 🔸 Булат Шарипов расскажет, как в Авито…
  3. Sep 24, 2026arXiv получил $17,2 млн на следующие 3–5 лет. Деньги выделили Simons Foundation Internatio…
  4. Sep 23, 2026✔️ OpenAI расширила Academy до 14 курсов OpenAI добавила в свою образовательную платформу…
  5. Sep 23, 2026Почему универсального ML-алгоритма не существует? Теорема No Free Lunch утверждает: если у…
  6. Sep 22, 2026🚨 DeepSeek обучает модель на 2 трлн параметров и планирует следующую на 8 трлн Для сравне…
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 →