❝Полный код и вложения этой статьи были загружены на мой
Github
складhttps://github.com/CNFeffery/DataScienceStudyNotes ❞
Привет всем, я учитель Фей.,всего несколько дней назад,После более чем шести лет непрерывного развития и итераций,Знаменитый кайф с открытым исходным кодомпроизводительность Аналитическийданные БиблиотекаDuckDB
опубликовал свой1.0.0
официальная версия。
DuckDB
Чрезвычайно мощный автономныйанализ данныхпроизводительность Производительность,Многофункциональный,Имеет множество плагинов расширений.,И в дополнение к стандартномуSQL
Режим внешнего запроса,Также очень дружелюбная поддержка наPython
、R
、Java
、Node.js
Использование в других языковых средах,особенно вPython
Очень гибкий и удобный в использовании,Сегодняшняя статья,Учитель Фэй, я помогу тебе быстро понятьDuckDB
существоватьPython
Распространенные позы использования в😎~
DuckDB
позиционируется как встроенный реляционныйданные Библиотека,существоватьPython
Очень удобно устанавливать в,С самым популярным на данный момент открытым исходным кодомPython
инструменты управления окружающей средойmamba
Например,Выполните следующие команды непосредственно в терминале,Мы завершили создание соответствующей демонстрационной виртуальной среды за один шаг.,исуществовать Завершено в средеpython-duckdb
、jupyterlab
、pandas
、polars
Установка сопутствующих инструментов анализа:
mamba create -n duckdb-demo python=3.9 -y && mamba activate duckdb-demo && mamba install python-duckdb jupyterlab pandas polars pyarrow -y
В качестве анализа данныхинструмент,Очень важно иметь возможность удобно и гибко импортировать данные в различных форматах.,DuckDB
По умолчанию можно импортировать напрямую.csv
、parquet
、json
и другие файлы общего формата,Сначала мы создадим простой пример с пятью миллионами строк, используя следующий код данных.,и экспортировано какcsv
иparquet
формат для сравнения:
# Создайте образцы файлов данных с помощью pandas
import numpy as np
import pandas as pd
generated_df = pd.DataFrame(
{
'категория': np.random.choice(list('ABCDEF'), 5000000),
'Число': np.round(np.random.uniform(0, 1000000, 5000000), 3)
}
)
# Экспорт в csv, формат соответственно паркета
generated_df.to_csv('./demo_data.csv', index=False)
generated_df.to_parquet('./demo_data.parquet')
Для файлов в двух форматах,Сравнивать отдельно по умолчаниюDuckDB
、pandas
、polars
скорость чтения:
csv
Форматparquet
Форматможно увидеть,Будь то сравнениеpandas
все ещеpolars
,DuckDB
чтение файловпроизводительность Все они значительно опережают или даже превосходят.⚡。
кроме,DuckDB
Вы также можете пройтиSQL
Выполните эквивалентные операции в форме операторов:
В дополнение к нескольким распространённым форматам данных, которые по умолчанию можно читать напрямую,DuckDB
существоватьPython
Он также поддерживает выполнение непосредственно какSQL
форма заявления,читать напрямуюpandas
、polars
в других кадрахданныекоробка,Это так мощно,значит пока это такpandas
、polars
ждатькоробкастойку можно прочитать Формат,DuckDB
может быть напрямую“принеси это тебе”🤣:
DuckDB
В качестве реляционногоданные Библиотека,Что Выполнять операции анализа Самый прямой способ — написатьSQL
,противDuckDB
Чтение в память по умолчаниюобъект(DuckDB
известный как"связь"):
мы можем пройтиduckdb.sql()
Используйте связь напрямую в качестве имени таблицы.,писатьSQL
Операторы для анализа запросов,Вот несколько простых примеров:
Сравните сpandas
、polars
Разница во времени между выполнением одной и той же задачи,DuckDB
Все еще сокрушительный уровень существованиясуществовать👍:
DuckDB
Встроенного интерфейса записи файлов по умолчанию относительно немного.,Еще толькопротивcsv
、parquet
ждать主流Форматс соответствующимиwrite_parquet()
、write_csv()
Файлы можно экспортировать напрямую,нопротивPython
,DuckDB
Обеспечивает разнообразноеданныеинтерфейс преобразования,Преобразование может быть быстрым и эффективным результатов расчетадляPython
объект、pandas
данныекоробка、polars
данныекоробка、numpy
数组ждать常用Формат:
На основании этого,Не беспокойтесь о прохожденииDuckDB
рассчитанныйданные Результаты нелегко экспортировать.для Что Он различный Формат Файл~
Если вам вдруг понадобится переехатьдляcsv
、parquet
ждать Формат,Затем используйте его напрямуюDuckDB
Интерфейс записи файлов,производительность по-прежнему очень мощная:
csv
Форматparquet
Форматподробнее оDuckDB
существоватьPython
Контент применяется в,Пожалуйста, перейдите к официальной документации(https://duckdb.org/docs/api/python/overview
),Учитель Фей, я тоже могу это сделать.существовать Продолжить делиться позжеDuckDB
Похожие обучающие статьи,Добро пожаловать, чтобы продолжитьсосредоточиться на, давай освоим этот анализ вместе данныхострое оружие😉。
Выше приведено все содержание этой статьи. Добро пожаловать для обсуждения с нами в области комментариев ~.