Главная | Все статьи | Код

Что такое Pandas и как с ним работать

Python Время чтения статьи ~3 минуты
Что такое Pandas и как с ним работать главное изображение

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

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Основные структуры данных в Pandas

Основные структуры данных в Pandas — это DataFrame и Series. Они позволяют обрабатывать данные эффективно и интуитивно понятно.

Series

Series — это одномерный массив данных, который может содержать любой тип данных (целые числа, строки, числа с плавающей точкой, объекты Python и т. д.). Каждому элементу в Series соответствует метка, которая называется индексом. По умолчанию, если индекс не задан явно, он автоматически создается как последовательность целых чисел 0, 1, 2, ... и до n-1, где n — количество элементов в Series.

Основные операции с Series:

  • Выборка данных по их индексу или с использованием срезов (slices).
  • Фильтрация данных с помощью булевых выражений.
  • Агрегация с использованием функций sum(), mean(), max() и других.

Попробуйте себя в Python

Начать с 5 бесплатных уроков

DataFrame

DataFrame — это двумерная структура данных, похожая на таблицу в SQL или на лист в Excel. DataFrame поддерживает столбцы различных типов данных, что очень удобно для задач по обработке данных, включая статистический анализ, очистку данных, а также их визуализацию.

Основные операции с DataFrame:

  • Выборка данных в столбцах по именам или строки по индексу.
  • Фильтрация и преобразование данных.
  • Группировка с помощью метода groupby() по одному или нескольким столбцам.
  • Слияние подобно тому, как это происходит в SQL.
  • Изменение структуры таблицы, добавление и удаление столбцов, изменение индексации и многое другое.

Пример использования Pandas

Рассмотрим простой пример, который демонстрирует эти операции. Допустим, в базе данных собраны данные людей из разных городов, разного возраста. Вот что можно делать с этими данными с помощью Pandas.

Просмотр данных

  • df.head(n). Позволяет просмотреть первые n строк DataFrame. По умолчанию n равно 5, но можно указать любое число для просмотра.
  • df.tail(n). Аналогично методу head, но показывает последние n строк. Это полезно для быстрой проверки того, какие данные добавлены в конец DataFrame.

Выборка данных

  • Выбор столбца по имени: df['Column_Name'] возвращает Series, содержащий данные указанного столбца.
  • Выбор нескольких столбцов: df[['Column_Name1', 'Column_Name2']] вернет новый DataFrame только с указанными столбцами.
  • Выбор строки по индексу: df.iloc[index] используется для получения строки по числовому индексу. Например, df.iloc[0] вернет первую строку DataFrame как Series.
  • Выбор по метке: df.loc[label] позволяет выбрать строку по метке индекса. Если индекс представляет собой дату, можно использовать df.loc['2021-01-01'].

Фильтрация

  • Условная фильтрация: df[df['Age'] > 25] вернет новый DataFrame, содержащий только те строки, где значение в столбце Age больше 25. Можно комбинировать условия, используя операторы & (и) и | (или).

Группировка и агрегация

  • df.groupby('Column_Name'). Этот метод используется для группировки данных по одному или нескольким столбцам. Например, df.groupby('City') создает объект GroupBy, который можно использовать для применения агрегирующих функций.
  • Агрегирующие функции. После группировки можно применять функции, такие как mean(), sum(), max(), min() и т. д. Например, df.groupby('City').mean() вычислит средние значения для каждой группы.

Сохранение данных

  • df.to_csv('filename.csv'). Этот метод сохраняет DataFrame в файл формата CSV. Можно указать дополнительные параметры, например index=False, чтобы не включать индекс в файл.
  • Другие форматы. DataFrame также можно сохранить в другом формате, например Excel (df.to_excel('filename.xlsx')), JSON (df.to_json('filename.json')), SQL (df.to_sql('table_name', connection_object)) и многих других.

В нашем примере, создав DataFrame, можно отфильтровать данные, выделив только людей младше 25 лет, затем сгруппировать эти данные и сохранить.

import pandas as pd

# Создание DataFrame

data = {

'Name': ['John', 'Anna', 'James', 'Linda'],

'Age': [28, 22, 35, 32],

'City': ['New York', 'Paris', 'London', 'Berlin']

}

df = pd.DataFrame(data)

# Просмотр данных

print(df.head())

# Выборка данных

print(df['Age'])  # Возвращает столбец Age

# Фильтрация

print(df[df['Age'] > 25])

# Группировка и агрегация

print(df.groupby('City').mean())

# Сохранение данных

df.to_csv('output.csv', index=False)

Рекомендуем попробовать

5 бесплатных уроков Python

Заключение

Pandas — это прекрасный инструмент для работы с данными, который используется в Data Science, финансовом анализе, исследовании и других областях. Благодаря широкому набору функций можно легко обрабатывать, анализировать и визуализировать данные в удобной форме.

Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 21 ноября
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 21 ноября
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 21 ноября
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 21 ноября