NumPy — это открытая бесплатная библиотека для Python. Она ускоряет работу с многомерными массивами и матрицами, а также позволяет вычислять много высокоуровневых математических функций при работе с массивами данных. Это упрощает работу аналитика данных, позволяя ему быстро проводить сложные вычисления.
Количество данных постоянно растет: в 2010 году было всего 2 Збайт, в 2020 — более 64 Збайт, а в 2025 этот объем может превысить 180 Збайт. Аналитикам данных приходится работать с весьма объемными массивами. Для этого создали инструменты, которые позволяют быстрее обрабатывать данные или проводить вычисления. Например, одна из первых библиотек для Python, Numeric, всё еще доступна и стабильно работает. Однако она медленно обрабатывает большие данные.
NumPy, или Numerical Python, решает эту задачу: она быстро работает с многомерными массивами. Во-первых, NumPy написана частично на Python (интерпретируемом языке) и частично на C и С++ (компилируемых языках программирования). Последние использовали именно там, где важна скорость, ведь благодаря компиляторам вычисления на C и С++ быстрее, чем на интерпретируемых языках.
Во-вторых, NumPy работает только с массивами из однородных элементов, например только с целыми или только с дробными числами. Это позволяет увеличить скорость вычислений до 50 раз и сократить время обработки данных, поскольку аналитику не нужно приводить типы данных к единому виду и обрабатывать их. Еще NumPy работает только с массивами одного типа. Массивы могут быть одномерными, двухмерными, трехмерными и так далее.
Одномерный массив
Поскольку количество осей массива не ограничено, их часто обозначают переменной N. Поэтому обычно говорят, что NumPy работает с N-мерными массивами данных. Массив создается с помощью функции array. В нее кладется Python-список, который нужно создать. Пример одномерного массива можно найти выше. Двухмерный будет состоять из двух одномерных, а трехмерный — из двух двухмерных.
Двухмерный массив
При создании массива в NumPy можно указать тип данных с помощью dtype. Эту функцию можно использовать, только если переменные варьируются от -32 768 до 36 767, иначе значения обнулятся и отсчет начнется заново.
Применение функции dtype
Рассказываем про базовый функционал NumPy, который позволит быстро работать с N-мерными массивами данных. Например, с помощью функции ndim можно узнать количество измерений в массиве, shape показывает количество строк и столбцов, а size — количество элементов. itemsize отображает количество байт, которое занимает один элемент, а nbytes — весь массив.
Допустим, в NumPy создан такой массив:
Система покажет следующие значения при запуске функций ndim, shape и size:
Еще можно обращаться к определенным элементам, столбцам, строкам, выбирать последовательность нужных элементов или менять значения в массиве.
В NumPy доступны традиционные математические операции: сложение, вычитание, деление и умножение. Их можно проводить как между массивами, так и между массивом и одним числом. Например, система может просуммировать массивы по позициям или, другими словами, сложить значения каждой строки.
При запуске функции получится такой результат:
Аналогично можно вычитать, умножать, делить.
Еще в NumPy можно делать срез массива (индексировать его) или агрегировать данные: вычислять минимальное и максимальное значения, сумму, среднее значение и стандартное отклонение.
В статье представлены лишь базовые функции NumPy, с помощью которых аналитики данных ускоряют работу с массивами — не только благодаря способностям системы оперативно обрабатывать большие массивы данных, но и за счет удобства работы с библиотекой. Последнее позволяет аналитику сократить время на выполнение рутинных задач и сфокусироваться на более интеллектуальных. Вместе это ускоряет обработку данных и повышает производительность аналитика, что позитивно сказывается на рабочем прогрессе.