🐼
Веб-сайты

Анализ данных с Python и Pandas: руководство для начинающих

30.06.2025
← Все статьи

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

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

DataFrame и Series — сердце Pandas

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

import pandas as pd

# Создание Series
prices = pd.Series([1000, 2500, 1800], index=['book', 'pen', 'notebook'])
print(prices)

# Создание DataFrame
data = {
    'product': ['book', 'pen', 'notebook'],
    'price': [1000, 2500, 1800],
    'quantity': [50, 120, 80]
}
df = pd.DataFrame(data)
print(df)

Загрузка данных: CSV и Excel

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

# Чтение CSV-файла
df = pd.read_csv('sales.csv')

# Чтение Excel-файла
df = pd.read_excel('report.xlsx', sheet_name='January')

# Просмотр первых 5 строк
print(df.head())

# Общая информация о данных
print(df.info())
print(df.describe())

Очистка данных: пропуски и дубликаты

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

# Проверка пропущенных значений
print(df.isnull().sum())

# Удаление строк с пропусками
df = df.dropna()

# Заполнение пропусков средним значением
df['price'] = df['price'].fillna(df['price'].mean())

# Удаление дубликатов
df = df.drop_duplicates()

Фильтрация, сортировка и группировка

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

# Фильтрация: товары дороже 1500
expensive = df[df['price'] > 1500]

# Сортировка по цене по убыванию
df_sorted = df.sort_values('price', ascending=False)

# Группировка: общая сумма продаж по категориям
total = df.groupby('category')['amount'].sum()
print(total)

Объединение таблиц: merge

Зачастую нужные данные распределены по нескольким отдельным таблицам — например, заказы хранятся в одном файле, а детали о клиентах в другом. Функция merge в Pandas соединяет такие таблицы по общему столбцу точно так же, как операция JOIN в базах данных SQL. Это даёт возможность увидеть полную картину и выявить связи между разными наборами данных, что критически важно для глубокого анализа.

# Объединение двух таблиц по ID клиента
result = pd.merge(orders, customers, on='customer_id', how='left')
print(result.head())

Реальный бизнес-пример: анализ продаж магазина

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

df = pd.read_csv('sales.csv')
df = df.dropna().drop_duplicates()

# Расчёт суммы каждого заказа
df['amount'] = df['price'] * df['quantity']

# Суммарная выручка по категориям
revenue = df.groupby('category')['amount'].sum().sort_values(ascending=False)
print("Самая доходная категория:", revenue.index[0])
print(revenue)

# Топ-5 самых активных клиентов
top_clients = df.groupby('client')['amount'].sum().nlargest(5)
print(top_clients)

Кратко о визуализации

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

import matplotlib.pyplot as plt

# Диаграмма выручки по категориям
revenue.plot(kind='bar', title='Выручка по категориям')
plt.ylabel('Сумма')
plt.tight_layout()
plt.savefig('revenue.png')

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

Похожие статьи

🌾 Сайт сельского хозяйства и агробизнеса: каталог продукции и B2B-продажи ❤️ Сайт благотворительного фонда: прозрачный сбор и доверие донора 🎉 Сайт банкетного зала и места для свадьбы: организация события и онлайн-бронь 🚙 Сайт аренды автомобилей: каталог авто, калькулятор цен и онлайн-бронь
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English