Python: Pandas
Теория: Введение
В этом курсе мы разберем библиотеку Pandas. Это один из наиболее популярных инструментов для обработки и анализа табличных данных на языке Python. После обучения вы сможете использовать инструментарий библиотеки Pandas в подготовке и анализе данных.
В этом вводном уроке мы разберем, по каким причинам аналитики используют эту библиотеку, и как выглядит типичный порядок работы с Pandas.
Причины появления библиотеки Pandas
Чтобы организовать работу компаний и интернет-сервисов, нужны хранилища данных. Их организовывают по-разному:
- Записки на бумажном носителе
- Набор текстовых файлов
- Электронные таблицы
- Базы данных
Табличные варианты хранения информации используются чаще, поскольку информация в них структурирована. Это удобно, когда требуется проводить анализ, расследовать инциденты, периодически подводить итоги и искать нужные данные.
Для проектов с небольшим объемом производимых транзакций достаточно популярных средств работы с электронными таблицами. Это могут быть:
- Десктопные приложения: Microsoft Excel, LibreOffice, OfficeSuite
- Облачные решения: Google Sheets
В последнее время количество производимых операций и число пользователей или клиентов растет. Поэтому хранить данные в электронных таблицах становится накладным по следующим причинам:
- Увеличение объема необходимой памяти для хранения
- Недостаточная скорость записи данных
- Увеличение времени на чтение и обработку данных
В таких случаях на практике используют реляционные системы управления базами данных — СУБД. Часто их называют просто базами данных. Наиболее популярные из них: PostgreSQL, MySQL, SQL Server.
Для аналитика базы данных — это инструмент хранения большого количества данных в виде набора таблиц. Многие операции с электронными таблицами также реализуемы в базах данных, но с использованием особого языка — SQL.
Рост технологий анализа данных и машинного обучения подтолкнул многие компании к пересмотру подходов к хранению данных. Некоторые из них полностью перешли на базы данных, в некоторых часть данных осталась в виде электронных таблиц и документов. В последнем случае для анализа требуется широкий спектр инструментов.
Попытки создания универсального способа для анализа табличных данных привели к созданию библиотеки Pandas.
Широкое распространение библиотека Pandas получила по ряду причин:
- Написана на популярном языке для анализа данных и машинного обучения — Python
- Использует в основе библиотеку научных и быстрых вычислений — Numpy
- Работает с широким спектром типов входных данных: csv, xsl, xslx, json
- Подключается напрямую к базам данных
- Имеет высокоуровневый интерфейс для преобразований данных и аналитики
Типичный порядок работы с библиотекой Pandas
Рассмотрим последовательность действий аналитика при работе с данными. Она содержит несколько ключевых шагов:
- Чтение исходных данных
- Анализ данных
- Обработка данных
- Сохранение результатов анализа и обработки исходных данных
Одним из распространенных типов данных является csv — comma separated values. Это текстовые данные, в которых названия и значения разделяются запятой, точкой с запятой или табуляцией.
Для примера рассмотрим файл data/Shop_orders.csv со значениями продаж четырех магазинов за одну неделю. Значения разделены запятой:
Для работы с данными импортируем модуль Pandas и воспользуемся нужным методом чтения:
Помимо пути к файлу необходимо указать колонку, которую считаем за индекс. В нашем случае это нулевая колонка — Weekday.
Для обзора считанных данных воспользуемся методом head(), который покажет первые пять строк данных:
Посмотрим на основные статистические показатели:
Одним методом удалось посмотреть среднее значение и отклонение от него, минимальное и максимальное значения и ряд персентильных значений.
Также одним методом можно достать средние значения по каждому магазину:
Остановимся в подготовке данных на центрировании значений продаж по каждому магазину. Вычтем из значений продаж среднее для данного магазина:
Остается сохранить полученный результат:
В директории с исходным файлом теперь лежит преобразованный вариант с подготовленными данными. Работа аналитика завершена.
Выводы
В рамках данного курса рассматривается библиотека Pandas. Это один из наиболее популярных инструментов для обработки и анализа табличных данных на языке Python. Большое количество поддерживаемых типов данных и функций для их обработки, высокая скорость работы и дружелюбный интерфейс выделяют ее среди конкурентов.
Чтобы освоить основные навыки работы с данной библиотекой, предлагаем пройти несколько шагов:
- Понять основной порядок работы с данными
- Узнать про интерфейсы чтения и записи данных
- Поработать с индексированием
- Научиться фильтровать значения в таблицах
- Применить функции для обработки строк и столбцов
- Построить сложные агрегации и сводные таблицы
- Объединить несколько таблиц в одну
После этих тем вы сможете уверенно использовать инструментарий библиотеки Pandas в подготовке и анализе данных.

