До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Код

Что такое NumPy и зачем он нужен?

Python Время чтения статьи ~3 минуты 5
Что такое NumPy и зачем он нужен? главное изображение

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

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Зачем аналитику данных NumPy?

Количество данных постоянно растет: в 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 для аналитиков данных

Рассказываем про базовый функционал NumPy, который позволит быстро работать с N-мерными массивами данных. Например, с помощью функции ndim можно узнать количество измерений в массиве, shape показывает количество строк и столбцов, а size — количество элементов. itemsize отображает количество байт, которое занимает один элемент, а nbytes — весь массив.

Допустим, в NumPy создан такой массив:

Система покажет следующие значения при запуске функций ndim, shape и size:

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

Вычислительные операции в NumPy

В NumPy доступны традиционные математические операции: сложение, вычитание, деление и умножение. Их можно проводить как между массивами, так и между массивом и одним числом. Например, система может просуммировать массивы по позициям или, другими словами, сложить значения каждой строки.

При запуске функции получится такой результат:

Аналогично можно вычитать, умножать, делить.

Еще в NumPy можно делать срез массива (индексировать его) или агрегировать данные: вычислять минимальное и максимальное значения, сумму, среднее значение и стандартное отклонение.

Преимущества NumPy для аналитиков данных

В статье представлены лишь базовые функции NumPy, с помощью которых аналитики данных ускоряют работу с массивами — не только благодаря способностям системы оперативно обрабатывать большие массивы данных, но и за счет удобства работы с библиотекой. Последнее позволяет аналитику сократить время на выполнение рутинных задач и сфокусироваться на более интеллектуальных. Вместе это ускоряет обработку данных и повышает производительность аналитика, что позитивно сказывается на рабочем прогрессе.

Попробуйте себя в Python

Начать с 5 бесплатных уроков

Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября