Python: уроки, справочник и задачи

Модуль Pandas: работа с таблицами данных в Python

Раздел: Модули и библиотеки Python · Обновлено 31.10.2026

Pandas - библиотека Python для работы с табличными данными: она загружает CSV и Excel в объект DataFrame, где строки можно фильтровать, сортировать, группировать и объединять в несколько строк кода. Ниже разобраны установка, основные структуры Series и DataFrame, выборка через loc и iloc, обработка пропусков, а также чтение и запись файлов с примерами.

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

Модуль Pandas
Фото: Another one of my pictures: This photograph was ta / CC BY-SA 4.0, Wikimedia Commons
Содержание статьи
  1. Почему выбирают Pandas?
  2. Практическое использование Pandas для обработки и анализа данных
  3. Примеры использования Pandas для обработки и анализа данных
  4. Использование Pandas для работы с данными из Excel и CSV
  5. Обработка и анализ данных
  6. Преимущества использования Pandas для работы с данными из Excel и CSV
  7. Заключение
  8. Установка и первые структуры данных
  9. Выборка строк, пропуски и сортировка
  10. Частые вопросы

Почему выбирают Pandas?

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

Основные преимущества Pandas

  1. Простой синтаксис: благодаря понятному и интуитивному синтаксису Pandas подходит как для начинающих, так и для опытных пользователей.
  2. Мощные возможности: библиотека предлагает широкий спектр функций для работы с данными, включая фильтрацию, группировку, сортировку и многое другое.
  3. Высокая производительность: благодаря оптимизированным структурам данных Pandas обеспечивает быструю обработку и анализ данных даже на больших объемах информации.

Как использовать Pandas для анализа данных?

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

Практическое использование Pandas для обработки и анализа данных

Pandas широко применяется в различных областях, связанных с обработкой и анализом данных. Ниже приведены некоторые практические сценарии использования библиотеки Pandas.

1. Анализ финансовых данных

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

2. Обработка временных рядов

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

3. Манипуляции социальными данными

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

4. Машинное обучение и анализ больших данных

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

Примеры использования Pandas для обработки и анализа данных

Pandas предоставляет множество возможностей для работы с данными. Ниже приведены некоторые примеры использования библиотеки Pandas для обработки и анализа данных.

1. Загрузка и отображение данных

import pandas as pd
# Загрузка данных из CSV файла
data = pd.read_csv('file.csv')
# Отображение первых 5 строк данных
print(data.head())

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

# Фильтрация данных по определенному условию
filtered_data = data[data['column'] > 100]

3. Группировка и агрегация данных

# Группировка данных по категории и вычисление среднего значения
grouped_data = data.groupby('category')['value'].mean()

4. Добавление новых данных

# Создание нового столбца на основе существующих данных
data['new_column'] = data['column1'] + data['column2']

5. Визуализация данных

import matplotlib.pyplot as plt
# Построение графика на основе данных из DataFrame
data.plot(x='date', y='value')
plt.show()

6. Объединение данных

# Объединение двух наборов данных по общему ключу
merged_data = pd.merge(data1, data2, on='key_column')

Использование Pandas для работы с данными из Excel и CSV

Pandas обладает мощными возможностями для работы с данными из файлов форматов Excel и CSV, что делает его незаменимым инструментом для обработки и анализа данных из различных источников.

Чтение данных из файлов CSV

import pandas as pd
# Загрузка данных из CSV файла
data_csv = pd.read_csv('file.csv')

Чтение данных из файлов Excel

# Загрузка данных из файла Excel
data_excel = pd.read_excel('file.xlsx', sheet_name='Sheet1')

Экспорт данных в файлы CSV и Excel

# Сохранение данных в CSV файл
data.to_csv('new_file.csv', index=False)
# Сохранение данных в файл Excel
data.to_excel('new_file.xlsx', sheet_name='Sheet1', index=False)

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

Обработка и анализ данных

После загрузки данных из файлов CSV или Excel, их можно легко обрабатывать с помощью Pandas, выполнять различные операции (фильтрацию, группировку, агрегацию, добавление новых данных) и проводить анализ данных.

Преимущества использования Pandas для работы с данными из Excel и CSV

Заключение

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

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

Установка и первые структуры данных

Pandas не входит в стандартную библиотеку, его ставят через pip. Для чтения файлов .xlsx дополнительно нужен пакет openpyxl, иначе read_excel выдаст ImportError. Библиотеку принято импортировать под псевдонимом pd.

pip install pandas openpyxl

В pandas две главные структуры. Series - одномерный массив с метками (индексом), DataFrame - таблица, где каждый столбец является отдельной Series. Внутри pandas опирается на массивы NumPy, поэтому операции над целым столбцом выполняются быстро и без явных циклов.

import pandas as pd

prices = pd.Series([120, 85, 240], index=["чай", "хлеб", "сыр"])
print(prices["сыр"])  # 240

df = pd.DataFrame({
    "name": ["Анна", "Борис", "Вера", "Глеб"],
    "city": ["Москва", "Казань", "Москва", "Пермь"],
    "salary": [90000, 75000, 110000, None],
})
print(df.shape)   # (4, 3)
print(df.dtypes)  # типы столбцов
df.info()         # сводка: строки, пропуски, память

Для первого знакомства с незнакомым набором данных удобны head(), info() и describe(). Последний метод считает количество, среднее, стандартное отклонение, минимум, максимум и квартили по числовым столбцам.

Выборка строк, пропуски и сортировка

Строки и столбцы выбирают двумя способами. loc работает с метками индекса и именами столбцов, iloc с порядковыми номерами. В loc срез включает правую границу, в iloc нет, как в обычных срезах Python.

print(df.loc[0, "name"])          # Анна
print(df.iloc[1:3])                 # строки с номерами 1 и 2
print(df.loc[df["city"] == "Москва", ["name", "salary"]])

# несколько условий: & и |, каждое условие в скобках
rich = df[(df["salary"] > 80000) & (df["city"] != "Пермь")]

Пропущенные значения в pandas обозначаются NaN. Их ищут через isna(), удаляют через dropna() или заполняют через fillna(). Методы по умолчанию возвращают новый объект, исходная таблица не меняется, пока результат не присвоен.

print(df["salary"].isna().sum())   # 1
df["salary"] = df["salary"].fillna(df["salary"].median())

top = df.sort_values("salary", ascending=False)
print(top.head(2))
ЗадачаМетод
Первые строкиdf.head(n)
Уникальные значения и их числоdf["col"].value_counts()
Переименовать столбцыdf.rename(columns={"old": "new"})
Удалить столбецdf.drop(columns=["col"])
Сменить типdf["col"].astype(int)
Сводная таблицаdf.pivot_table(index=..., values=..., aggfunc="sum")

Частые вопросы

Короткие ответы на вопросы, с которыми сталкиваются при первом знакомстве с pandas.

Чем pandas отличается от модуля csv?

Модуль csv из стандартной библиотеки читает файл построчно и отдает списки или словари, дальше все расчеты пишутся вручную. Pandas сразу загружает файл в таблицу с типами столбцов и готовыми методами для фильтрации и группировки. Для простого построчного чтения без зависимостей подойдет модуль csv.

Почему появляется SettingWithCopyWarning?

Предупреждение возникает, когда значение присваивается в срез, который может оказаться копией, например df[df["a"] > 0]["b"] = 1. Изменение может не попасть в исходную таблицу. Правильно делать выборку и присваивание одним вызовом: df.loc[df["a"] > 0, "b"] = 1.

Как прочитать CSV с разделителем точка с запятой и кириллицей?

Передайте параметры явно: pd.read_csv("file.csv", sep=";", encoding="cp1251"). Файлы из русского Excel часто сохранены именно в cp1251 с разделителем ;, а pandas по умолчанию ждет UTF-8 и запятую.

Как построить график по DataFrame?

У DataFrame и Series есть метод plot(), который рисует график через Matplotlib. Поэтому Matplotlib должен быть установлен, а для показа окна вызывают plt.show().

Справится ли pandas с большим файлом?

Pandas держит всю таблицу в оперативной памяти. Если файл не помещается, его читают частями через параметр chunksize в read_csv или загружают только нужные столбцы через usecols.