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

онлайн тренер по питону
Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

Что такое Pandas и почему он так важен

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

Pandas активно используется в:

  • анализе и визуализации данных;

  • машинном обучении;

  • финансовой аналитике;

  • подготовке отчетов;

  • обработке больших объемов CSV- или Excel-файлов.

С помощью Pandas можно легко загружать, фильтровать, трансформировать и визуализировать данные — всё это с минимальным количеством кода.


Установка и подключение Pandas

Чтобы начать работу с Pandas, сначала установим его:

bash
pip install pandas

А затем импортируем в ваш Python-скрипт:

python
import pandas as pd

Сокращение pd стало стандартом и используется повсеместно в руководствах и примерах.


Основные структуры данных: Series и DataFrame

Объект Series: одномерные данные

Series — это массив с метками (индексами), который может хранить любые типы данных:

python
s = pd.Series([10, 20, 30], index=["a", "b", "c"])

Объект DataFrame: таблицы и их структура

DataFrame — это двумерная таблица, где строки и столбцы имеют метки:

python
data = { "Имя": ["Анна", "Борис", "Вика"], "Возраст": [25, 30, 22], } df = pd.DataFrame(data)

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


Загрузка и сохранение данных

Загрузка из CSV, Excel, JSON

Pandas поддерживает множество форматов:

python
df_csv = pd.read_csv("data.csv") df_excel = pd.read_excel("data.xlsx") df_json = pd.read_json("data.json")

Сохранение данных в файл

python
df.to_csv("output.csv", index=False) df.to_excel("output.xlsx")

Индексация, фильтрация и выбор данных

Логическая фильтрация строк

python
df[df["Возраст"] > 25]

Выбор по метке и позиции (loc и iloc)

  • loc — выбор по метке:

python
df.loc[0, "Имя"]
  • iloc — выбор по индексу:

python
df.iloc[0, 1]

Работа с пропущенными значениями

Поиск, удаление и заполнение NaN

python
df.isnull() # найти NaN df.dropna() # удалить строки с NaN df.fillna(0) # заменить NaN на 0

Группировка и агрегирование данных

Группировка с groupby()

python
df.groupby("Город")["Возраст"].mean()

Применение агрегатных функций

python
df.agg({"Возраст": ["mean", "max"], "Зарплата": "sum"})

Слияние, объединение и соединение таблиц

merge(), join(), concat()

  • merge() — объединение по ключам:

python
pd.merge(df1, df2, on="ID")
  • join() — объединение по индексам:

python
df1.join(df2, how="left")
  • concat() — вертикальное или горизонтальное объединение:

python
pd.concat([df1, df2])

Изменение и очистка данных

Переименование, удаление и замена значений

python
df.rename(columns={"Имя": "ФИО"}, inplace=True) df.drop("Возраст", axis=1, inplace=True) df.replace("Москва", "Moscow", inplace=True)

Преобразование типов данных

python
df["Возраст"] = df["Возраст"].astype("int")

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

Pandas интегрируется с библиотекой matplotlib:

python
import matplotlib.pyplot as plt df["Возраст"].plot(kind="hist") plt.show()

Можно строить линейные графики, гистограммы, круговые диаграммы и многое другое.


Часто задаваемые вопросы

❓ Что такое Pandas?

Pandas — библиотека Python для анализа и обработки табличных данных с использованием удобных структур: Series и DataFrame.

❓ Чем DataFrame отличается от Series?

Series — это одномерная структура, а DataFrame — двумерная таблица с несколькими столбцами.

❓ Как загрузить Excel-файл в Pandas?

python
pd.read_excel("файл.xlsx")

❓ Как выбрать определенный столбец?

python
df["Имя"]

❓ Как заменить все пропущенные значения на 0?

python
df.fillna(0)

❓ Как объединить две таблицы по столбцу ID?

python
pd.merge(df1, df2, on="ID")

Полный справочник по функциям и методам библиотеки Pandas для Python

Pandas — мощная библиотека для анализа и обработки данных в Python. Ниже представлен подробный справочник по ключевым функциям и методам, сгруппированным по категориям.Wikipedia – Die freie Enzyklopädie


Создание и структура данных

Функция / Метод Описание
pd.Series(data, index) Создаёт одномерный объект из списка, массива или словаря.
pd.DataFrame(data, columns, index) Создаёт таблицу из словарей, списков, NumPy-массивов и т.п.
pd.read_csv(filepath) Загружает данные из CSV-файла.
pd.read_excel(filepath) Загружает данные из Excel-файла.
pd.read_json(filepath) Загружает данные из JSON-файла.
pd.read_sql(query, conn) Загружает данные из SQL-запроса.
pd.DataFrame.from_dict(dict) Создаёт DataFrame из словаря.
pd.DataFrame.from_records(records) Создаёт DataFrame из списка записей (например, списков или кортежей).

Просмотр и информация о данных

Метод Описание
df.head(n) Показывает первые n строк.
df.tail(n) Показывает последние n строк.
df.info() Показывает информацию о типах данных, пропусках и количестве строк.
df.describe() Статистика по числовым колонкам.
df.shape Кортеж (строк, столбцов).
df.columns Список названий столбцов.
df.index Индексы строк.
df.dtypes Типы данных столбцов.
df.values Значения DataFrame в виде массива.

Изменение структуры

Метод Описание
df.set_index(column) Делает столбец индексом.
df.reset_index() Сбрасывает индекс.
df.rename(columns={}) Переименовывает столбцы.
df.sort_values(by) Сортирует по значению столбца.
df.sort_index() Сортирует по индексу.
df.drop(columns=[]) Удаляет указанные столбцы.
df.drop(index=[]) Удаляет строки по индексу.
df.T Транспонирует таблицу.

Фильтрация и выборка

Метод Описание
df[col] Получает один столбец.
df[[col1, col2]] Получает несколько столбцов.
df.loc[index, column] Доступ по имени строки и столбца.
df.iloc[i, j] Доступ по позиции.
df.query('условие') Фильтрация по выражению.
df[df['col'] > 5] Булева фильтрация.

Изменение данных

Метод Описание
df['new'] = ... Добавление нового столбца.
df.at[i, j] = val Присваивание по имени.
df.iat[i, j] = val Присваивание по индексу.
df.apply(func) Применяет функцию по строкам или столбцам.
df.map(func) Применяет функцию к значениям Series.
df.replace(a, b) Замена значений.
df.fillna(val) Заполняет пропуски.
df.dropna() Удаляет строки с пропусками.

Объединение и соединения

Метод Описание
pd.concat([df1, df2]) Склеивает таблицы по строкам или столбцам.
df1.append(df2) Добавляет строки из другого DataFrame.
df.merge(df2, on=...) Объединяет по ключам (аналог SQL JOIN).
df.join(df2) Присоединяет столбцы по индексу или ключу.

Агрегации и статистика

Метод Описание
df.sum() Сумма значений.
df.mean() Среднее значение.
df.median() Медиана.
df.min() / df.max() Минимум / максимум.
df.count() Количество непустых значений.
df.value_counts() Частоты значений (Series).
df.cumsum() Накопленная сумма.
df.groupby(col) Группировка по столбцу.
df.pivot_table(values, index, columns) Создание сводной таблицы.

Временные ряды и индексы

Метод Описание
pd.to_datetime() Преобразует строку в дату.
df.resample('M').sum() Изменяет частоту (например, по месяцам).
df.set_index('date') Назначает временной индекс.

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

Метод Описание
df.to_csv(filename) Сохраняет в CSV-файл.
df.to_excel(filename) Сохраняет в Excel.
df.to_json() Сохраняет в JSON.
df.to_sql(name, con) Сохраняет в базу SQL.
 

Заключение: почему Pandas незаменим в работе с данными

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