Меня всегда тянуло к математике, но считать в столбик – не моё. Стоит взяться за вычисления вручную — и мозг моментально уходит в перегрузку. Раньше выручал обычный калькулятор, но библиотеки Python открыли для меня целый космос новых возможностей.
С помощью Python я собрал локальную вычислительную станцию, которая легко тягаться с Wolfram Alpha и дорогими профессиональными решениями. Делюсь своим опытом: покажу, как у меня это получилось.
SymPy: Символьная математика
Когда впервые наткнулся на Wolfram Alpha, был в полном восторге: он решал любые алгебраические и аналитические задачи, будто по волшебству. Я мечтал о такой же штуке, только чтобы запускать её прямо у себя на компьютере. Но купить лицензию на Mathematica — удовольствие недешёвое даже для «домашней» версии.
Так я познакомился с SymPy. Пока коммерческие пакеты типа Mathematica или Maple стоят сотни долларов, SymPy — абсолютно бесплатна. К тому же она основана на Python, который я уже освоил, поэтому начать было очень просто.
Больше всего SymPy раскрывается в интерактивных средах вроде IPython или Jupyter Notebook: моментальные ответы только подстёгивают интерес и помогают быстрее разобраться.
Даже если вы больше про анализ данных — как я — без базовых знаний по линейной алгебре и математическому анализу сложно разбираться с серьёзными статистическими статьями. Символьная математика буквально подтолкнула меня к тому, чтобы понять, что скрывается за числовыми алгоритмами и на какой теории всё держится.
NumPy, pandas, SciPy: статистика
Если для символьной математики важны формулы, то статистика — это мир числовых расчётов. Здесь работают с приближёнными значениями с плавающей запятой, а не с идеальной точностью, как в SymPy.
NumPy — мой главный инструмент для работы с массивами чисел. Он позволяет создавать и одномерные, и многомерные структуры. Один ряд — простой список, а двухмерная структура — уже полноценная таблица: строки, столбцы, матрицы. А матрицы — это база всей линейной алгебры и, по сути, статистики.
NumPy из коробки умеет считать среднее, медиану, стандартное отклонение — всё за одну строку, без утомительных циклов вручную и несравнимо быстрее.
NumPy творит чудеса, но для расширенного анализа мне пригодились и другие библиотеки. pandas делает работу с таблицами максимально удобной — напоминает Excel: загружаете таблицу — и дальше фильтруете, группируете, строите срезы данных.
pandas позволяет быстро получать сводную информацию, строить сводные таблицы, запускать статистические тесты вроде χ² — всё просто и понятно на интуитивном уровне. Добавлять и удалять столбцы, перестраивать таблицу — проще простого.
SciPy — кладезь готовых функций для научных задач, включая статистику. Тут всё необходимое: биномиальные, нормальные, распределения Стьюдента и многое другое, что вспоминаешь с первой лекции по статистике.
statsmodels и Pingouin: регрессия
Однажды на уроке физики мы что-то мерили секундомером — сколько падает предмет с определённой высоты. Но настоящий восторг пришёл позже, когда нам показали, как занести данные в таблицу и вывести по ним уравнение прямой — линейную регрессию. Меня это просто поразило: из сухих цифр вырисовывается математическая формула, объясняющая связь!
Регрессия — мощный инструмент для поиска зависимостей между переменными. Ответ на Python найти очень просто, благо выбор библиотек большой. statsmodels — настоящий монстр для серьёзной статистики и эконометрики. Порог освоения чуть выше обычного, зато подход максимально профессиональный. Поддерживаются формулы в стиле R — это особенно оценят те, кто уже с ним работал.
Pingouin — наоборот, максимально дружелюбный и простой. Отлично подходит для быстрой разведки: позволяет буквально за пару кликов получить основные результаты, не утонув в массивах коэффициентов или сложных терминах. Все результаты сразу попадают в DataFrame — выглядит как готовая таблица для статьи или презентации.
Чаще всего беру Pingouin для быстрых задач, а statsmodels подключаю, когда нужна стопроцентная точность — например, для моделирования временных рядов или когда результат должен «сойтись» с расчётами в R. Если хочется получить предельную надёжность — выбираю statsmodels, даже если придётся меньше полениться.
Matplotlib и Seaborn: визуализация
Что меня всегда вдохновляло в визуализациях — это красивые, «говорящие» графики данных. Когда-то экран калькулятора казался унылым, а сейчас на мониторе можно буквально рисовать инфографику уровня научных журналов (спасибо TI и ЕГЭ за мотивацию). Python с этим справляется на ура.
Для отображения статистики лучшим помощником считаю Seaborn. Гистограммы, диаграммы рассеяния, линии регрессии — всё выглядит ярко и читаемо, никаких танцев с бубном.
Стиль по умолчанию в Seaborn настолько хорош, что спокойно конкурирует даже с ggplot2 из вселенной tidyverse на R.
Но графики — это не просто эстетика, это реальный инструмент анализа. Сразу видна форма распределения, можно на глаз найти перекосы в данных, не дожидаясь сложных тестов.
Matplotlib — классика в мире Python. По сути, Seaborn работает на её базе. Если смените оформление в Seaborn, то и простые графики Matplotlib автоматически подстроятся. Здесь можно как быстро набросать простую линию, так и сделать профессиональную инфографику.
Matplotlib даёт полный контроль: настраиваете подписи, убираете лишнее, делаете под ваш стиль или формат — всё как для публикации.
Порог входа тут есть: два варианта интерфейса — базовый через axes и объектно-ориентированный, чуть сложнее. Разработчики советуют придерживаться первого варианта.
Кстати, SymPy может быть и графическим калькулятором: строит графики прямо по уравнениям без промежуточных массивов NumPy. Просто пишете нужную формулу и сразу видите результат на экране.
Используя Python как свой супер-калькулятор, я понял: возможности теперь в разы шире. Я гораздо лучше стал понимать и сам Python, и вообще — возможности программирования для математики и статистики. Всё стало куда проще и нагляднее.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru