Прежде чем анализировать данные, их нужно подготовить: собрать, очистить от ошибок и дублей, структурировать. Чтобы быть уверенными в результате по окончании анализа, важно убедиться в качестве данных вначале. Библиотека для анализа данных на Python pandas помогает преобразовывать структурированные данные и содержит встроенные инструменты для их очистки.
Особенности библиотеки pandas:
● Позволяет работать с огромными объёмами данных, в том числе объединять их и разделять.
● Поддерживает DataFrames — специальные объекты, которые позволяют эффективнее анализировать данные, превращая их в индексированные структурированные массивы.
● Принимает данные из множества источников: баз данных, таблиц Excel и других. Преобразует данные разных форматов в пригодные для анализа языком Python.
С помощью pandas можно:
● Индексировать, переименовывать, сортировать и объединять массивы данных.
● Обновлять, добавлять и удалять данные.
● Восстанавливать и обрабатывать недостающие данные.
● Визуализировать данные.
После того как библиотека pandas помогла убедиться в качестве данных, можно перейти к расчётам. Например, посчитать выручку торговой точки по номенклатуре товара. В Excel пришлось бы объединять, суммировать и делить, а в Python может хватить одной строки записи, чтобы сделать расчёт по таблице из 10 000 строк. В этом помогает библиотека NumPy. Она считается одной из основных библиотек Python для анализа данных.
Особенности библиотеки NumPy:
● Множество структур данных, которые позволяют эффективнее проводить поиск, аналитику и структурирование.
● Возможность проводить сложные научные расчёты с математическими формулами, в том числе над данными в многомерных массивах.
● Инструменты для преобразования данных в разные форматы.
● Работа с числовыми и другими типами данных.
С помощью NumPy можно:
● Умножать, добавлять, выравнивать, индексировать массивы, проводить их срезы, изменять форму.
● Создавать стековые и широковещательные массивы, разбивать их на секции.
● Проводить вычисления по формулам линейной алгебры, которые нужны для сложного анализа данных на Python.
С увеличением опыта специалиста будут усложняться и задачи: придётся прибегать к линейной алгебре, интерполяции, интеграции, статистике и другим сложным математическим операциям. В этом специалисту по анализу данных помогает библиотека SciPy, которая построена на базе массивов и функций NumPy.
Особенности SciPy:
● Быстрое и надёжное выполнение сложных операций благодаря оптимизации.
● Широкий набор функций и инструментов для разнообразных операций.
● Содержит множество подпакетов для конкретных задач, например преобразования Фурье.
С помощью SciPy можно:
● Проводить сложные математические вычисления: например, решать дифференциальные уравнения или находить численное решение интегралов.
● Обрабатывать изображения.
● Работать с генетическими алгоритмами.
● Проводить сложные инженерные вычисления.
После анализа данные нужно представить в удобном для восприятия виде. Для этого используют инструменты визуализации. Они есть в некоторых других пакетах, но Matplotlib поддерживает максимум различных графиков и диаграмм.
Особенности Matplotlib:
● Позволяет быстро строить диаграммы и графики разных видов, настраивать их оформление.
● Поддерживает API для интеграции графиков в разработанные приложения.
● Умеет форматировать диаграммы и графики для более простого восприятия.
С помощью Matplotlib можно:
● Строить 2D-фигуры.
● Формировать на основе данных линейные, точечные, столбчатые, круговые и другие диаграммы.
● Рисовать контурные графики.
● Формировать поля векторов и спектрограммы.
● Быстро встраивать визуализацию в сервисы, программы и приложения.
Особенности библиотеки seaborn:
● Инструменты для исследования и анализа данных перед визуализацией.
● Поддержка данных разных форматов.
● Широкие возможности для настройки внешнего вида графиков и создания сложных визуализаций.
С помощью seaborn можно:
● Вычислять и визуализировать корреляции — соотношения между разными данными.
● Анализировать и сравнивать данные между собой, строить графики по этому анализу.
● Создавать графики, подходящие для демонстрации визуализации анализа тем, кто не слишком глубоко разбирается в данных.
Визуализация результатов работы не менее важна, чем сама работа. На курсе «Аналитик данных» студентов учат как анализу, так и его понятному представлению для других специалистов.
В Python очень мало встроенных инструментов для статистического анализа — этим он уступает некоторым другим языкам для анализа данных, например R. Библиотека statsmodels исправляет этот недостаток. Она объединяет графические возможности Matplotlib, инструменты подготовки данных pandas и математический функционал NumPy и SciPy. В неё встроены некоторые возможности библиотеки Patsy, которые позволяют реализовать формулы из языка R.
Особенности statsmodels:
● Позволяет эффективнее работать на Python тем, у кого есть опыт в R, так как поддерживает многие методы из этого языка.
● Подходит для статистических вычислений.
● Поддерживает одномерный и двумерный анализ данных, что позволяет строить обобщённые модели и проверять гипотезы.
● Чаще всего применяется специалистами по Data Science для сложных вычислений и машинного обучения.
● Хорошо совместима с другими библиотеками и инструментами Python.
● Упрощает решение некоторых сложных математических задач.
С помощью statsmodels можно:
● Строить сложные статистические модели, например линейную регрессию.
● Проводить статистические тесты.
● Вычислять корреляцию.
● Строить обобщённые линейные и байесовские модели.
● Проверять гипотезы различными методами.
Особенности Plotly:
● Поддерживает трёхмерные визуализации и их продвинутые настройки.
● Позволяет экспортировать результаты анализа в особом формате — JSON. Его удобно открывать в других приложениях.
● Обладает одним из самых широких списков поддерживаемых диаграмм.
● Умеет отправлять данные в облачные сервисы, чтобы работать там с ними дальше.
● На основе этой библиотеки существует ещё одна, Dash — она позволяет строить интерактивные дашборды для демонстрации данных.
С помощью Plotly можно:
● Строить любые обычные диаграммы и графики: круговые, Ганта, древовидные.
● Формировать научные карты: тепловые, контурные, логарифмические, с полями векторов.
● Строить финансовые графики.
Особенности Bokeh:
● Поддержка всех базовых инструментов визуализации, нужных в аналитике данных и науке.
● Поддержка разных форматов входных данных.
● Версии для других языков программирования — освоив библиотеку, ей можно будет пользоваться и при переходе на другой язык.
● Совместимость с Python-фреймворками для веб-разработки, например Flask.
● Совместимость с другими библиотеками для визуализации, например Matplotlib.
С помощью Bokeh можно:
● Быстро встроить симпатичный интерактивный график в веб-страницу. Он будет автоматически обновляться при изменении данных и поддерживать сортировку, срезы или другие инструменты.
● Строить графики на основе данных, импортированных из разных источников.
● Проводить простой анализ данных, например вычислять корреляции.
Обычно моделями машинного обучения занимаются специалисты по Data Science, однако аналитикам тоже иногда приходится иметь с ними дело. Как правило, для их написания и настройки используют scikit-learn. Это одна из основных библиотек Python для Data Science.
Особенности библиотеки scikit-learn:
● В библиотеку встроены все базовые функции для машинного обучения.
● Можно создавать модели для обучения как с учителем, так и без учителя.
● Доступно подключение механизмов оценки созданных моделей.
● Есть интеграция с NumPy, SciPy и другими библиотеками для вычислений.
С помощью scikit-learn можно:
● Создавать машинные модели для классификации, кластеризации, сегментации, визуализации данных и других манипуляций.
● Выбирать модели из нескольких.
● Настраивать параметры и особенности модели.
● Предварительно обрабатывать входные данные для обучения.
Николай Шавлюго
У моего знакомого аналитика была проблема: они с женой часто ссорились. Тогда он решил применить знания по анализу данных в жизни и собрал данные по ссорам: когда происходили и из-за чего, построил график. Выяснилось, что чаще всего «грозовые тучи» сгущались по вечерам, когда обсуждались серьёзные семейные и бытовые вопросы. Муж и жена приходили с работы уставшие, не было сил решать что-то важное, ну и начиналось. После анализа ссор было принято решение: не обсуждать сложные бытовые проблемы по будням, все серьёзные разговоры переносить на выходные и вести их в уютной обстановке.
Так с помощью стремления решить проблему, аналитических навыков и обычной графической библиотеки seaborn были сохранены семья и отношения. Этой историей я хочу сказать, что аналитические навыки способны помогать принимать более точные и аргументированные управленческие решения на любом уровне жизни, будь то семья или рабочее место. Перечисленные выше библиотеки будут удобным и современным инструментом для помощи в этом.
Читать также: