Если вы хотя бы раз интересовались анализом данных на Python, вы наверняка слышали о NumPy и задавались вопросом: почему без него не обходится почти ни одна задача? Сейчас расскажем, почему этот модуль стал незаменимым для статистики и анализа данных.
NumPy: легкий способ работать с многомерными массивами
Научные задачи, инженерные расчёты и статистика чаще всего связаны с работой с векторами и матрицами. Тут нужен простой инструмент для создания и быстрого доступа к многомерным числовым массивам.
Без отдельной библиотеки пришлось бы писать много однотипных циклов и обрабатывать данные "вручную" — а это сильно тормозит процесс, особенно в 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 даёт современной аналитике фантастическую производительность даже с большими числовыми массивами и сложными статистическими расчётами.
Мгновенная статистика в одну строчку!
Одна из сильнейших сторон Python и NumPy — возможности делать стандартные статистические расчёты буквально одной строкой для любых массивов. Конечно, есть и базовый модуль statistics, но NumPy заточен именно под работу с большими данными.
Например, чтобы узнать среднее значение (average), достаточно написать одну команду:
Аналогично это работает и для матриц.
Медиана (центральное по величине значение) тоже находится буквально мгновенно:
Стандартное отклонение тоже вычисляется за долю секунды.
Благодаря такой простоте и мощности NumPy и стал инструментом номер один для всех, кто работает со статистикой на Python.
Генерация случайных чисел — проще не бывает
В статистике часто нужны случайные числа — например, для моделирования или генерации тестовых данных. NumPy делает эту задачу максимально удобной.
Сначала создаём генератор случайных чисел (rng):
Дальше одной командой получаем массив случайных чисел:
Вот у вас уже готов массив из пяти случайных чисел.
Можно выбрать и тип распределения: например, функции standard_normal мгновенно сгенерируют массив, распределённый по нормальному (гауссову) закону.
Или создать многомерный массив, скажем, 3 на 5 случайных чисел — и всё это в один клик.
Математические константы всегда под рукой
Ещё один плюс — мгновенный доступ к известным константам, таким как pi и e. Конечно, вы найдёте их и в модуле math, но NumPy «заточен» именно под работу с массивами чисел.
Вызвать pi? Легко:
Точно так же и с e:
Всё это можно сразу подставлять в формулы. Натуральный логарифм по основанию e — функция уже встроена. Пример: логарифм числа 42:
Результат — примерно 3,74. Для проверки возводим e в полученную степень:
Число e — частый гость в финансах, экономике и науке, когда речь идёт о моделировании экспоненциального роста. И тут NumPy существенно экономит ваше время и силы.
Линейная алгебра на кончиках пальцев!
В научных вычислениях без линейной алгебры никуда — это способ удобно записывать системы уравнений и быстро ими оперировать, не тратя время на рутину. NumPy благодаря своей скорости позволяет получать результаты за секунды — даже в самых сложных задачах.
Классический пример — линейная регрессия, когда нужно подобрать оптимальную прямую по набору точек. Если точек сотни или тысячи, вручную этим никто заниматься не станет — NumPy всё решит за вас в одно мгновение, высвобождая время на действительно важные задачи.
Вся экосистема Python держится на NumPy!
Чаще всего NumPy остаётся незаметным «двигателем» самых популярных Python-библиотек для анализа данных. pandas превращает массивы в удобные таблицы, Seaborn и matplotlib строят визуализации, SciPy добавляет продвинутую математику, а scikit-learn — машинное обучение. Все они строятся на фундаменте NumPy.
В итоге Python становится мощным и гибким инструментом, который легко заменяет тяжёлые продукты вроде Mathematica, а по гибкости и возможностям оставляет Excel далеко позади — ведь все рутинные операции можно автоматизировать на Python. А Jupyter Notebook, выросший из науки, позволяет удобно делиться результатами и повторять расчёты — что критически важно для настоящей науки и глубокого анализа данных.
Не случайно всё больше аналитиков и исследователей переходят на Python для статистики и работы с данными.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru