Python: Numpy
2026-02-26 18:23 Diff

В последние десятилетия цифровизация и автоматизация привели к накоплению больших объемов информации. Эти накопленные данные стали полезным источником информации для бизнеса, но принесли с собой много инфраструктурных проблем и головной боли разработчиков. Так появилась потребность в Data Mining — глубоком анализе данных с применением методов машинного обучения. Он выявляет неочевидные закономерности и таким образом решает бизнес-задачи.

Стандартные типы языка Python и его встроенные методы помогают решать разные аналитические задачи с данными. Но изначально Python не задумывался для таких задач, и поэтому не всегда стандартных инструментов достаточно. Для решения более сложных аналитических задач была разработана библиотека Numpy ("Numerical Python extensions"). В основном она направлена на удобство работы с массивами данных и ускорение вычислений с ними.

В Numpy используется особый тип данных — массив. Чтобы его создать, нужно конвертировать данные из списка (list). Посмотрим, как это выглядит в коде:

Работа с массивами в некоторых операциях аналогична действиями над списками, но предоставляет ряд дополнительных возможностей. Например, различие есть в операциях получения элементов по списку индексов — типом list она не поддерживается:

Еще Numpy упрощает логику арифметических операций. Например, вот так выглядят операции сложения и умножения массива на число:

Если бы мы работали со списками, для тех же операций потребовался бы еще и генератор списков:

Кроме того, Numpy ускоряет многие операции, что особенно заметно при работе с большими массивами. На примере ниже посмотрим, за какое время находится максимальный элемент списка и массива Numpy с аналогичным набором элементов:

Время выполнения в примере выше может отличаться в зависимости от производительности среды. Тем не менее операции над массивом Numpy в любом случае происходят в разы быстрее аналогичных операций над списком.

Еще одно преимущество библиотеки Numpy — широкая функциональность. Она включает в себя разные математические функции, модули для работы со случайными числами и матрицами, а также с преобразованиями Фурье.

Производительность Numpy, широкий спектр методов работы с массивами и удобный интерфейс подтолкнули разработчиков использовать библиотеку в качестве основы для модулей. Например, есть такие модули для работы с:

  • Табличными данными — Pandas
  • Визуализацией данных — Matplotlib, Plotly, Seaborn
  • Алгоритмами машинного обучения — Sklearn
  • Тензорами и глубокими нейронными сетями — TensorFlow
  • Изображениями — OpenCV

Выводы

В самом начале курса мы познакомимся с основным компонентом библиотеки Numpy — массивом numpy.ndarray. Далее вы научитесь конвертировать стандартные структуры языка Python в указанный тип данных, а также использовать разные методы работы с данными.

Чтобы доступнее объяснить такие непростые темы, мы воспользуемся примерами из практики — поможем гипотетическому бизнесу с анализом данных по работе сети магазинов.

Даже если вы не работаете аналитиком, вы почерпнете из курса много полезных практик. Эти знания помогут оптимизировать программы так, чтобы они работали в разы быстрее благодаря библиотеке Numpy.