Навигация по статье
Сегодня Python — не просто универсальный язык, а золотой стандарт в анализе данных и статистике. Если ты уже хоть раз работал с таблицами или только начинаешь — сейчас я покажу, как изучать данные в Python намного проще и быстрее, чем ты привык делать вручную.
Почему именно Python для работы с данными?
Многие переходят на Python для анализа данных — и закономерно возникает вопрос: зачем это нужно, когда у нас есть привычные Excel, LibreOffice или Google Таблицы?
Всё дело в гибкости и впечатляющем арсенале инструментов, которые классическим таблицам даже не снились. Таблицы отлично подходят для простых задач и подсчётов, но если тебе нужны сложные вычисления или приходится разбираться с большими объёмами данных — Python, с его мощными библиотеками, станет настоящей находкой.
Есть и другая проблема у электронных таблиц — они просто не рассчитаны на большие объёмы данных. Всё тормозит, каждый шаг приходится делать вручную, и рутина съедает уйму времени. Протягивание формул на тысячи строк? Это медленно и утомительно.
8 приёмов, чтобы превратить Python в сверхмощный калькулятор
Забудь о калькуляторе — попробуй Python и удивись его возможностям!
Библиотеки вроде NumPy, pandas, Seaborn и Pingouin позволяют обрабатывать огромные массивы данных за считанные секунды, выполнять любые вычисления всего в пару строк и избавляют тебя от нудной рутины.
Таблицы всё ещё полезны для несложных задач или подготовки исходных данных. В следующей части я покажу, как быстро импортировать их в Python. А если потребуется особое форматирование — можно попробовать простые базы данных, например, SQLite.
Чтобы не тратить время на теорию, в этой статье — только практика: разберём, как с нуля использовать ключевые библиотеки Python для базового статистического анализа. А вот за деталями можно обратиться к онлайн-курсам, книгам или видеоурокам типа OpenStax или Khan Academy.
Как подготовить рабочую среду
Для старта нужно всего лишь установить пару библиотек. Я предполагаю, что у тебя уже есть Linux, macOS или Windows с WSL — то есть любая удобная система.
Первым делом ставим Mamba — классный менеджер пакетов для Python и не только. Зачем вообще нужен ещё один менеджер, если у Linux есть свой? Всё просто: системный менеджер пакетов отвечает за работу ОС, а для программирования нам нужны последние версии Python-библиотек. Тут и выручает Mamba: система останется стабильной, а ты получаешь доступ ко всем свежим инструментам разработчика. Всё, что нужно, — скопировать команду с сайта и вставить в терминал.
Conda уже не нужен: как Mamba сделала мою разработку супер-удобной
Забудь о мучениях — заведуй всеми библиотеками в пару кликов!
После установки Mamba просто добавь нужные библиотеки: NumPy, pandas, SciPy и Pingouin. Для работы в интерактивном режиме пригодится IPython.
Создай отдельное окружение «stats» с этими пакетами прямо через Mamba.
Дальше — активируй это окружение.
После этого можно устанавливать библиотеки и приступать к работе.
Всё готово: самое время попробовать реальные задачи!
Где искать данные для анализа
Чтобы начать работу со статистикой, нужны данные. Это могут быть твои старые таблицы, датасеты с таких площадок, как Kaggle, или готовые примеры, встроенные в Seaborn и Pingouin — бери и тренируйся прямо из библиотеки.
Проверь, что активировал окружение «stats», и запускай IPython:
Начинаем с импорта pandas:
Pandas прекрасно работает с популярными форматами, включая Excel (.xls) и CSV — самый ходовой формат в аналитике.
Через метод read_csv в pandas можно загрузить любой CSV-файл. Например, разберём это на базе реальных данных о ценах на ноутбуки, которые я анализировал для расчёта сложной модели.
Этот скрипт на Python защитит ваш кошелёк от переплат за ноутбук!
Пара строк кода — и ваши расходы под полным контролем!
В результате появляется объект DataFrame — по сути, та же таблица, как в базах данных. Чтобы взглянуть на первые строки, просто используй метод head:
Можно сгенерировать и свои данные — удобно для тестов. Для этого понадобится NumPy и его генератор случайных чисел.
Импортируем NumPy:
Создаём генератор случайных чисел:
Генерируем 50 случайных чисел с нормальным распределением:
Описательная статистика: среднее, медиана, стандартное отклонение, квартиль
На Python вычислять все основные характеристики набора данных невероятно просто — для этого нужен всего один pandas.
В качестве примера используем встроенный датасет Seaborn под названием «tips»:
Первые строки таблицы смотрим через уже знакомый head():
Для быстрой сводной статистики по всем числовым колонкам — достаточно одной команды describe:
pandas мгновенно покажет: сколько у тебя данных, среднее, стандартное отклонение, минимум, нижний квартиль (25%), медиану (50%) и верхний квартиль (75%) — например, для столбцов «total_bill», «tip» и «size».
Можно получить аналогичную сводку для отдельного столбца:
Или, например, вывести только медиану по чаевым:
Регрессия — как увидеть скрытую закономерность?
Описательная статистика дает общий фон, но чтобы выявить связь между показателями — нам нужна линейная регрессия.
По сути, регрессия — это когда мы «находим» прямую между точками на графике.
Давайте продолжим работу с датасетом «tips»: строим с помощью Seaborn график зависимости чаевых от суммы счёта. Счет — по оси X, чаевые — по оси Y. На графике отметим все точки и проведем линию регрессии — и сразу поймём, есть ли закономерность.
Для строгого анализа возьмём Pingouin:
В первой колонке ты получишь значения свободного члена и коэффициента наклона (то есть формулу прямой). Но главный показатель — r² (коэффициент детерминации). В нашем случае он около 0,46 — значит, прямая связь есть, что отлично видно на графике.
Статистические тесты: различия настоящие или случайные?
Очень часто нужно сравнить две группы — например, контрольную и экспериментальную, как при тестировании новых лекарств. Возникает вопрос: разница между ними реальная или это просто случайность? Именно для этого и нужны статистические тесты.
Самый популярный вариант — t-критерий Стьюдента: его применяют, когда выборки небольшие.
Давай создадим две случайных группы по 10 элементов с помощью NumPy:
В Pingouin уже есть готовая функция для t-теста — проверим гипотезу о том, что между группами нет существенной разницы:
Главный показатель здесь — p-значение. Если оно меньше 0,05 — разница считается значимой. В нашем случае результат около 0,61, что гораздо выше: значит, статистически значимой разницы между группами нет.
А это всего лишь крошечная часть того, что можно делать с анализом данных на Python. Стоит попробовать самому — и ты тут же поймёшь, почему Python стал любимцем аналитиков и учёных по всему миру. Быстро, удобно и возможностей — хоть отбавляй!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru