DeepDigest
Computerwoche · · ~9 мин

7 Жемчужин науки о данных для Python

Статья представляет семь инструментов для анализа данных на Python, включая ConnectorX для быстрой загрузки данных из баз данных и DuckDB для аналитических рабочих нагрузок.

7 Жемчужин науки о данных для Python

Сердар Йегулалп

Старший писатель

7 жемчужин науки о данных для Python

Подсказка
3 июля 2026, 8 минут

Помимо NumPy, Pandas и Scikit-learn, эти семь инструментов для анализа данных на Python заслуживают места в вашем наборе инструментов.

Эти инструменты Python обогащают работу специалистов по обработке данных. Студия постоянного тока | shutterstock.com

Богатая инструментальная экосистема Python — одно из существенных преимуществ языка программирования. Обратная сторона в том, что из‑за большого количества инструментов Python легко упустить действительно хорошие. Вот почему в этой статье мы собрали семь рекомендуемых инструментов для анализа данных на Python, которые пока не привлекли к себе внимания.

  1. ConnectorX

Данные обычно хранятся в базе данных, но обрабатываются вне её. Извлечение или добавление данных из базы данных может занять очень много времени. ConnectorX загружает информацию из баз данных непосредственно в популярные инструменты обработки данных для Python. Обычно для этого требуется всего несколько строк кода на Python и SQL‑запрос.

Ядром ConnectorX является библиотека Rust. Это позволяет, например, загружать данные из одного источника и разделять их параллельно. Данные PostgreSQL можно загрузить, указав, например, столбец раздела. Помимо PostgreSQL, ConnectorX также считывает данные из:

  • MySQL/MariaDB,
  • SQLite,
  • Красного смещения Амазонки,
  • Microsoft SQL Server,
  • Azure SQL, а также
  • Оракула.

Затем результаты можно повторно использовать в pandas или pyarrow DataFrame, в Modin или Dask (через pandas) или в Polars (через PyArrow). Общая поддержка ODBC в настоящее время находится в стадии разработки.

  1. DuckDB

Как и другие механизмы баз данных OLAP, DuckDB использует хранилище данных, ориентированное на столбцы, и предназначено для долгосрочных аналитических рабочих нагрузок. При этом DuckDB предлагает все функции, которые можно ожидать от традиционной базы данных, — например, транзакции ACID. Ещё одно преимущество: не нужно настраивать отдельный программный пакет. В среде Python установите DuckDB с помощью следующей команды: pip install duckdb.

DuckDB обрабатывает данные в форматах CSV, JSON или Parquet, а также из множества других распространённых источников данных. Полученные базы данных можно разделить на несколько физических файлов для повышения эффективности — например, на основе значений ключей (год и месяц). Запрос данных работает так же, как в любой другой реляционной базе данных на основе SQL, но с дополнительными встроенными функциями — например, для случайных выборок данных или создания оконных функций.

В DuckDB также есть небольшая, но очень полезная коллекция расширений. Они используются, например, для:
* полнотекстового поиска;
* ускоренного поиска векторного сходства;
* импорта и экспорта в Excel;
* прямых подключений к SQLite и PostgreSQL;
* экспорта файлов Parquet;
* поддержки различных популярных форматов и типов геопространственных данных.

  1. Оптимус

Очистка и подготовка данных — довольно неблагодарная задача в проектах, ориентированных на фреймы данных. Универсальный набор инструментов Optimus стремится упростить её: он позволяет разработчикам загружать, исследовать, очищать и возвращать данные из различных источников.

В качестве базового механизма обработки данных Optimus может использовать Dask, CUDF, Vaex или Spark в дополнение к Pandas. Данные можно загружать из различных популярных источников, таких как Arrow или Parquet. Кроме того, поддерживаются форматы плоских файлов, такие как CSV и JSON.

API для обработки данных аналогичен API Pandas, но расширяет его — в нём есть методы доступа .rows() и .cols(). Это полезно, например, для:

  • сортировки фрейма данных;
  • фильтрации по значениям столбцов;
  • изменения данных в соответствии с определёнными критериями;
  • упрощения сферы применения на основе определённых критериев.

Кроме того, Optimus также включает процессоры для обработки реальных типов данных, таких как адреса электронной почты и URL‑адреса.

Что касается Optimus, то, возможно, проблема заключается в том, что последняя официальная версия относится к 2020 году. Таким образом, он может быть не таким современным, как другие компоненты в вашем стеке.

  1. Полярные точки

Если вы проводите много времени с фреймами данных и регулярно разочаровываетесь в ограничениях производительности Pandas, вам стоит взглянуть на Polars.

Библиотека DataFrame для Python имеет удобный синтаксис, аналогичный синтаксису Pandas, но использует библиотеку Rust, которая максимально использует возможности существующего оборудования. Для использования таких функций, как параллельная обработка или SIMD, не требуется специальный синтаксис — всё выполняется автоматически. Поэтому даже такие простые операции, как чтение из CSV‑файла, выполняются значительно быстрее. Разработчики на Rust также могут создавать собственные расширения для Polars с помощью pyo3.

Polars предлагает как режим ожидания, так и режим отложенного выполнения — поэтому запросы можно выполнять немедленно или, при необходимости, с задержкой по времени. Инструмент Python также поддерживает потоковый API для инкрементной обработки запросов. Однако потоковая передача для различных функций пока недоступна. В этом случае Polars использует для этого механизм в памяти.

Инструмент также позволяет (через внешнюю библиотеку Graphviz) получать представление о том, сколько ресурсов памяти и ЦП использует запрос, — с помощью графиков выполнения.

  1. Видеорегистратор

Распространённая проблема, связанная с проектами в области науки о данных, — контроль версий (не кода проекта, а данных). Инструмент DVC (Data Version Control) позволяет прикреплять дескрипторы версий к записям. Их можно проверить в Git, как и весь остальной код, чтобы сохранить согласованность версий данных и кода.

DVC может отслеживать практически любой тип записей, если они могут быть отображены в файл. При этом не имеет значения, хранятся ли данные в службе удалённого хранения или локально. Концепция заключается в том, что они описывают, как модели данных управляются и используются с помощью «конвейера».

Однако DVC делает больше, чем просто редактирует данные вместе с кодом. Инструмент может, например, функционировать также как:

  • быстрое кэширование данных для удалённо размещённых данных;
  • методология отслеживания экспериментов, проводимых с данными;
  • реестр или каталог для моделей машинного обучения, созданных с использованием данных.

Пользователи Visual Studio Code могут интегрировать рабочие процессы DVC в свой редактор с помощью соответствующего расширения.

  1. Чистая лаборатория

Поскольку создание чистых, правильно помеченных данных требует больших затрат времени, высококачественных наборов данных для целей машинного обучения не хватает. Иногда у специалистов по обработке данных нет другого выбора, кроме как работать с необработанными данными или противоречивой информацией. Для этого сценария был разработан инструмент Cleanlab.

Этот инструмент обработки данных на Python использует существующие высококачественные наборы данных машинного обучения для анализа наборов данных более низкого качества — тех, что не имеют маркировки или имеют её недостаточно. Иными словами, вы создаёте модель на основе исходного набора данных. Затем с помощью Cleanlab определяете, что нужно улучшить в этом исходном наборе данных, после чего повторно обучаете модель на автоматически очищенном и скорректированном наборе данных.

Cleanlab работает независимо от моделей и структур данных. Неважно, используете ли вы PyTorch, OpenAI, Scikit-learn или TensorFlow — Cleanlab совместим с любым классификатором. При этом инструмент предусматривает специфические рабочие процессы для таких распространённых задач, как:

  • классификация токенов;
  • мультимаркировка;
  • регрессия;
  • сегментация изображения;
  • обнаружение объектов и выбросов.

В идеале на различных примерах вы сами поймёте, как работает этот процесс и каких результатов можно ожидать.

  1. Создание змей

Рабочие процессы обработки данных сложно настроить, а добиться их последовательного и предсказуемого выполнения ещё труднее. Для автоматизации этого процесса и настройки рабочих процессов анализа данных таким образом, чтобы все участники получали одинаковые результаты, был разработан Snakemake. Чем больше компонентов в вашем рабочем процессе обработки данных, тем выше выгода от его автоматизации с помощью Snakemake.

Рабочие процессы Snakemake похожи на рабочие процессы GNU Make: они определяют этапы рабочего процесса с помощью правил. Эти правила задают, что записывается и выводится, а также какие команды нужно выполнить. Правила рабочего процесса могут быть многопоточными, а данные конфигурации — сохраняться в файлах JSON или YAML. Кроме того, в рабочих процессах можно определить функции для преобразования данных, используемых в правилах, и для регистрации действий на каждом этапе.

Задания Snakemake также переносимы — их можно развёртывать как в управляемых Kubernetes, так и в определённых облачных средах. При этом:

  • рабочие нагрузки можно «заморозить» для использования определённого набора пакетов;
  • для успешно выполненных рабочих нагрузок модульные тесты можно создать и сохранить автоматизированным способом — в том числе в виде архива для долгосрочного хранения.

(частотная модуляция)

Эта статья в оригинале опубликована в нашем дочернем издании Infoworld.com.

Сердар Егулалп — старший писатель InfoWorld. Ветеран технологической журналистики, Сердар уже 30 лет пишет о компьютерах, операционных системах, базах данных, программировании и других темах информационных технологий. До прихода в InfoWorld в 2013 году он публиковал статьи в Windows Magazine, InformationWeek, Byte и многих других изданиях. В InfoWorld Сердар освещал разработку программного обеспечения, DevOps, контейнеризацию, машинное обучение и искусственный интеллект. Он получил несколько наград в области B2B‑журналистики, в том числе премию Нила в 2024 году и премию Азби в 2025 году — за лучший учебный контент и лучшую практическую статью соответственно. Сейчас он специализируется на инструментах и технологиях разработки ПО и основных языках программирования, включая Python, Rust, Go, Zig и Wasm. Следите за его еженедельными видео, где Сердар делится советами и методами программирования, а также подробно разбирает библиотеки и инструменты для разработки.

Больше от этого автора:

Как использовать DuckDB — 27 июня 2026 г., 5 минут.
Шоу: визуальный студийный код с локальным LLM — как это сделать — 26 июня 2026 г., 6 минут.
Создание баз данных: 7 фатальных ошибок SQL — 21 июня 2026 г., 5 минут.
Шоу: введение в PyScript — запуск Python в браузере — 18 июня 2026 г., 6 минут.
Инструкция по установке пакета: как использовать uv — 9 июня 2026 г., 5 минут.
Шоу: работа с Pandas — как выполнять анализ данных с помощью Python — 30 мая 2026 г., 15 минут.
Аналитический анализ: Scpython и PyPy в сравнении с JIT — 28 мая 2026 г., 8 минут.
Объяснение виртуальных сред в Python: venv и virtualenv — 19 мая 2026 г., 10 минут.

Больше рекламных подкастов популярных статей:

Новости GITEX AI Europe выходят в эфир (Берлин) от Манфреда Бреммера — июль 2026, 4 минуты.
Искусственный интеллект, генеративный ИИ.

Новости Gartner: Agentic AI ставит под угрозу многомиллиардные доходы SaaS от Gyana Swain — июль 2026, 5 минут.
AISAAS, генерирующие искусственный интеллект.

Анализ: переносит ли Берлинский технический университет квантовые компьютеры из лаборатории на завод? Юрген Хилл — июль 2026, 3 минуты.
Новые технологии, квантовые компьютеры.

Подкаст «Умные города» — с Беттиной Трац‑Райан, Gartner — 23 июня 2026, 32 минуты.
Интернет вещей.

Подкаст: какое будущее у нашей работы ещё впереди? — 11 июня 2026, 47 минут.
Искусственный интеллект, способствующий развитию карьеры.

Подкаст: сначала инновации, а потом инновации? С Каем Грюнвицем, Киндрил — 26 мая 2026, 34 минуты.
Инновации в области ИТ‑стратегии.

// оригинал
Computerwoche ↗ Читать оригинал
6 просмотров
// поделиться Telegram VK