Найти в Дзене
Герман Геншин

Неожиданный факт: почему NumPy — мозг и зрение любой работы с данными в Python!

Оглавление

Если вы хотя бы раз интересовались анализом данных на Python, вы наверняка слышали о NumPy и задавались вопросом: почему без него не обходится почти ни одна задача? Сейчас расскажем, почему этот модуль стал незаменимым для статистики и анализа данных.

NumPy: легкий способ работать с многомерными массивами

-2

Научные задачи, инженерные расчёты и статистика чаще всего связаны с работой с векторами и матрицами. Тут нужен простой инструмент для создания и быстрого доступа к многомерным числовым массивам.

Без отдельной библиотеки пришлось бы писать много однотипных циклов и обрабатывать данные "вручную" — а это сильно тормозит процесс, особенно в Python. С NumPy весь этот рутинный код уходит в прошлое.

Создать одномерный массив — проще простого:

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

Есть ещё вариант — использовать функцию arange для генерации последовательностей чисел. Например, вот так получаем массив чётных чисел от 2 до 8:

Первый параметр — начало, второй — конец, третий — шаг. NumPy быстро соберёт массив с нужным вам шагом.

arange работает и с числами с плавающей точкой:

Так вы получите массив из 100 равномерно распределённых чисел от 0 до 50.

Конечно, с NumPy легко создать и двумерные массивы (матрицы). Например, массив 3 на 3 можно тут же посмотреть в Jupyter Notebook или IPython:

Каждая строка здесь заключена в свои скобки — мы получаем "массив массивов". Такие матрицы часто становятся математическими моделями, что особенно полезно в data science. Поэтому Python так быстро стал мировым стандартом анализа данных.

Молниеносные вычисления: когда Python тормозит, NumPy летает!

Главная фишка NumPy — это его скорость. В маленьких задачках вы, может быть, не заметите разницу, но стоит перейти к большим объёмам данных — и отрыв становится огромным. Хотя Python многие считают медленным языком, NumPy "под капотом" использует библиотеки на C и Fortran (LAPACK и BLAS), а значит, ускоряет вычисления в десятки раз.

Библиотеки C и Fortran десятилетиями используются для сложных научных задач, и их эффективность отточена до идеала. На этом мощном фундаменте NumPy даёт современной аналитике фантастическую производительность даже с большими числовыми массивами и сложными статистическими расчётами.

Мгновенная статистика в одну строчку!

-3

Одна из сильнейших сторон Python и NumPy — возможности делать стандартные статистические расчёты буквально одной строкой для любых массивов. Конечно, есть и базовый модуль statistics, но NumPy заточен именно под работу с большими данными.

Например, чтобы узнать среднее значение (average), достаточно написать одну команду:

Аналогично это работает и для матриц.

Медиана (центральное по величине значение) тоже находится буквально мгновенно:

Стандартное отклонение тоже вычисляется за долю секунды.

Благодаря такой простоте и мощности NumPy и стал инструментом номер один для всех, кто работает со статистикой на Python.

Генерация случайных чисел — проще не бывает

-4

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

Сначала создаём генератор случайных чисел (rng):

Дальше одной командой получаем массив случайных чисел:

Вот у вас уже готов массив из пяти случайных чисел.

Можно выбрать и тип распределения: например, функции standard_normal мгновенно сгенерируют массив, распределённый по нормальному (гауссову) закону.

Или создать многомерный массив, скажем, 3 на 5 случайных чисел — и всё это в один клик.

Математические константы всегда под рукой

-5

Ещё один плюс — мгновенный доступ к известным константам, таким как pi и e. Конечно, вы найдёте их и в модуле math, но NumPy «заточен» именно под работу с массивами чисел.

Вызвать pi? Легко:

Точно так же и с e:

Всё это можно сразу подставлять в формулы. Натуральный логарифм по основанию e — функция уже встроена. Пример: логарифм числа 42:

Результат — примерно 3,74. Для проверки возводим e в полученную степень:

Число e — частый гость в финансах, экономике и науке, когда речь идёт о моделировании экспоненциального роста. И тут NumPy существенно экономит ваше время и силы.

Линейная алгебра на кончиках пальцев!

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

Классический пример — линейная регрессия, когда нужно подобрать оптимальную прямую по набору точек. Если точек сотни или тысячи, вручную этим никто заниматься не станет — NumPy всё решит за вас в одно мгновение, высвобождая время на действительно важные задачи.

Вся экосистема Python держится на NumPy!

-6

Чаще всего NumPy остаётся незаметным «двигателем» самых популярных Python-библиотек для анализа данных. pandas превращает массивы в удобные таблицы, Seaborn и matplotlib строят визуализации, SciPy добавляет продвинутую математику, а scikit-learn — машинное обучение. Все они строятся на фундаменте NumPy.

В итоге Python становится мощным и гибким инструментом, который легко заменяет тяжёлые продукты вроде Mathematica, а по гибкости и возможностям оставляет Excel далеко позади — ведь все рутинные операции можно автоматизировать на Python. А Jupyter Notebook, выросший из науки, позволяет удобно делиться результатами и повторять расчёты — что критически важно для настоящей науки и глубокого анализа данных.

Не случайно всё больше аналитиков и исследователей переходят на Python для статистики и работы с данными.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: