Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

Python Pandas — что это и как использовать

1443
9 минут чтения
Средний рейтинг статьи: 3.8

Pandas в Python — это библиотека, которая изначально разрабатывалась для упрощения работы с временными рядами в финансовом секторе. Однако довольно быстро стало ясно, что ее возможности выходят далеко за пределы финансовой аналитики: со временем Pandas превратилась в универсальный инструмент, способный загружать, преобразовывать, анализировать и структурировать данные в табличном формате. Гибкость, интуитивность и встроенные инструменты позволяют эффективно управлять большими массивами данных всего за несколько строк кода. Именно поэтому Python-разработчики и специалисты в сфере анализа информации так высоко ценят Pandas. 

В этой статье мы подробно разберем, как Pandas можно использовать в повседневной работе. Мы изучим базовые структуры данных — Series и DataFrame, освоим подключение к различным источникам данных, рассмотрим методы фильтрации, группировки и объединения таблиц, а также разберем основные способы визуализации данных и несколько практических примеров. Целевая аудитория статьи — пользователи, которые уже знакомы с основами Python и стремятся глубже понять функциональные возможности Pandas, чтобы упростить работу с массивами данных.

Установка необходимых библиотек и компонентов

Прежде чем приступить к изучению возможностей Pandas, убедитесь, что у вас установлены все необходимые библиотеки.

Выполним следующие команды в терминале:

  1. Обновим список пакетов:

    
  1. Установим python3 и модуль для создания виртуальных окружений:

    
  1. Создадим виртуальное окружение:

    
  1. Активируем виртуальное окружение myenv:

    
  1. Установим ключевые библиотеки:

    
  1. Проверим, что не возникает проблем при импорте библиотек:

    

Облачные серверы

Масштабируемые вычислительные ресурсы
по всему миру с почасовой оплатой.

Series

Series представляет собой линейную структуру данных, которая способна сохранять значения разных типов: числа, строки, временные отметки и даже сложные Python-объекты. Ее ключевая особенность — индекс, позволяющий обращаться к элементам как по порядковому номеру, так и по наименованию. 

В отличие от стандартных списков Python, Series обладает широким набором встроенных методов, которые позволяют выполнять статистические расчеты, сортировку и фильтрацию данных.

Ниже пример создания Series из списка:

    

Image6

В этом фрагменте мы импортируем библиотеку pandas под псевдонимом pd. Переменная my_series содержит объект типа Series, в котором индексы по умолчанию задаются целые числа, начиная с 0. Мы также присвоили имя столбцу с помощью параметра name, чтобы в дальнейшем отличать этот набор данных от других.

DataFrame

Если Series можно рассматривать как «столбец» или одномерный массив, то DataFrame — это уже полноценная таблица с данными, в которой по строкам и столбцам располагаются значения разных типов. Dataframe используется повсеместно при загрузке, обработке и хранении табличной информации.

Простейший способ создать DataFrame в Pandas — передать словарь списков или двумерный массив в качестве входных данных:

    

Image5

В результате у вас получится таблица, в которой строки и столбцы обладают подписанными индексами. DataFrame объединяет удобство работы со строковыми метками и вычислительную производительность. Благодаря интеграции с библиотекой NumPy, в основе DataFrame лежат оптимизированные структуры данных, что ускоряет выполнение операций фильтрации и агрегации.

Понимание того, что в Pandas ключевую роль играют объекты Series и DataFrame, позволяет более эффективно применять эту библиотеку.

Импорт данных

Ключевое преимущество Pandas при решении реальных задач — это способность легко загружать и сохранять данные в различных форматах. Наиболее востребованными являются CSV, Excel и JSON, но Pandas также поддерживает множество других источников, включая SQL-базы данных.

Импорт из CSV

CSV-файлы являются одним из самых популярных форматов хранения табличных данных. Для загрузки CSV в Pandas используется специальная функция.

    

Достаточно указать путь к файлу — и Pandas это всё сделает за вас: проанализирует, где начинается и заканчивается поле, какой используется разделитель, и даже попытается угадать типы столбцов. При необходимости можно задать дополнительные параметры, например sep=';' или encoding='utf-8', если файл имеет особый формат.

Подключение к базам данных

Pandas интегрируется с различными СУБД, в том числе PostgreSQL, MySQL, SQLite и другими. Проще всего работать через библиотеку SQLAlchemy, позволяющую установить соединение и передать SQL-запрос.

Ниже приведен пример работы с базой данных SQLite. Этот код:

  • Создает файл базы данных (my_database.db), если он еще не существует.
  • Создает таблицу table_name с колонками id, name и age.
  • Добавляет в таблицу три записи (Alice, Bob, Charlie).
  • Загружает данные в DataFrame и выводит их в терминал.
    

Image3

Полученный DataFrame df_sql будет содержать все строки из table_name, что удобно для последующей обработки. С другими СУБД синтаксис будет похож — нужно лишь установить нужный драйвер и правильно указать строку подключения.

Таким образом, Pandas работает практически с любым источником данных, что делает её универсальным решением для аналитических задач.

Основные функции обработки данных

Когда данные уже загружены в DataFrame, можно приступать к их подготовке и анализу. В Pandas есть обширный набор методов и функций, которые позволяют выполнять фильтрацию, группировку, агрегирование, а также объединение таблиц. Рассмотрим ключевые из них.

Фильтрация данных

Фильтрация — одна из важнейших операций в анализе данных. В Pandas фильтрации встречаются в любых руководствах:

    

Image2

Здесь df['Product'] == 'Apples' возвращает булев массив, указывающий, какие строки содержат Apples. В результате получаем подмножество исходного DataFrame. Также можно пользоваться методами .loc, .iloc или даже .query():

    

Метод query() позволяет писать логические условия в виде небольших строк, упрощая чтение сложных запросов.

Визуализация данных с Pandas

Несмотря на то, что для полноценной визуализации в Python часто используют Matplotlib, Seaborn или Plotly, в Pandas присутствуют встроенные возможности быстрого построения графиков. Каждый объект DataFrame или Series имеет метод .plot(), который умеет отображать:

  • Линейные графики (по умолчанию)
  • Столбиковые диаграммы
  • Гистограммы
  • Круговые диаграммы и многое другое

Пример:

    

Image4

Параметры x='Month' и y='Sales' определяют, какие данные брать для оси X и оси Y, а kind='bar' указывает тип диаграммы. Такой подход идеален для быстрой оценки данных, не прибегая к дополнительным библиотекам. Но если нужна сложная визуализация, Pandas легко интегрируется и с Matplotlib, и с другими популярными средствами построения графиков.

Примеры использования: сквозной сценарий

Чтобы продемонстрировать связный процесс обработки данных, рассмотрим условный пример. Допустим, у нас есть набор данных о продажах продуктов в магазине, и мы хотим загрузить их, сделать несколько преобразований, а затем вывести итоговый результат.

    

Image1

На графике видно, что категория "Fruits" имеет суммарный доход около 72. Это означает, что после фильтрации и обработки данных остались только корректные значения, которые затем были сгруппированы по категории и визуализированы в виде столбчатой диаграммы.

Такой короткий сценарий отражает основные шаги: импорт, фильтрацию, арифметические операции, группировку и визуализацию. В реальных задачах могут добавляться десятки операций, но принципы работы pandas.DataFrame при этом остаются прежними.

Подготовили для вас выгодные тарифы
на облачные серверы

Cloud MSK 15

477 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
NVMe
15 ГБ
Канал
1 Гбит/с
Публичный IP
Cloud MSK 30

657 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
NVMe
30 ГБ
Канал
1 Гбит/с
Публичный IP

Заключение

Итак, мы рассмотрели, что такое Pandas, почему Pandas — одна из наиболее популярных библиотек для анализа данных, и как она облегчает жизнь специалистам, обрабатывающим большой объем информации. Библиотека Pandas в Python предоставляет готовые инструменты для чтения и записи данных в разных форматах, гибкую фильтрацию и группировку, удобные методы слияния таблиц, а также базовую визуализацию.

Главные преимущества Pandas:

  1. Удобство: понятные структуры данных Series и DataFrame.
  2. Широкие возможности: фильтрация, объединение, группировка, агрегирование — всё в одной библиотеке.
  3. Интеграция: легко «дружит» с другими библиотеками Python, такими как NumPy, Matplotlib, SciPy, scikit-learn и т.д.
  4. Оптимизация: несмотря на простоту синтаксиса, под капотом используется NumPy, что обеспечивает высокую скорость выполнения операций.
  5. Активное сообщество: множество обучающих материалов, статей, форумов, где обсуждают вопросы и проблемы.

Специалисту по анализу данных, бизнес-аналитику или научному сотруднику, желающему выделять закономерности из больших массивов цифр, без Pandas уже сложно представить свою повседневную работу. Если вы только начинаете разбираться в аналитике на Python, стоит как можно раньше освоить Pandas и научиться применять их на реальных задачах. Как только вы поймете принципы работы с Pandas, у вас в руках окажется мощнейший инструмент, позволяющий быстро находить и обрабатывать нужную информацию, формируя в итоге понятные отчеты, графики и выводы.

Таким образом, Pandas — действительно универсальный подход к анализу, актуальный как для научной среды, так и для бизнес-сфер. Попробуйте на практике Pandas, создайте свой первый DataFrame и ощутите, насколько библиотека упрощает жизнь, если речь идет о манипуляциях с данными.

1443
9 минут чтения
Средний рейтинг статьи: 3.8
Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server