Когда вы работаете с данными, особенно в аналитике, чаще всего они приходят в виде таблиц: CSV-файлы, Excel-документы, выгрузки из баз данных. Чтобы с такими табличными наборами информации было удобно и быстро работать в Python, используют библиотеку Pandas. Её название — сокращение от "panel data", то есть панельные данные. Но не стоит пугаться академических терминов: на практике это один из самых дружелюбных и полезных инструментов в дата-анализе.
Pandas позволяет буквально за пару строк кода:
→ загружать данные из разных источников — CSV, Excel, JSON, базы SQL;
→ сортировать, фильтровать, группировать таблицы;
→ подсчитывать среднее, максимум, минимум и другие статистики;
→ заполнять пропущенные значения и убирать дубликаты;
→ сохранять обработанные данные в нужном формате.
Без Pandas все эти действия пришлось бы писать вручную на чистом Python — с циклами, условиями и словарями. С Pandas всё это делается проще, понятнее и быстрее.
С этой библиотекой работают все, кто так или иначе связан с данными:
→ Data Scientists используют её, чтобы готовить данные для моделей машинного обучения.
→ Аналитики собирают отчёты, считают метрики, визуализируют результаты.
→ Исследователи быстро проверяют гипотезы и обрабатывают данные для статей и проектов.
→ Инженеры по данным используют Pandas для тестирования пайплайнов или работы с небольшими наборами данных.
→ Разработчики подключают её к бекенду, если нужно быстро обработать табличные данные без отдельной базы.
Если вы работаете локально — в VS Code, PyCharm или другой IDE, — установите библиотеку с помощью pip:
pip install pandas
Импорт в коде обычно выглядит так:
import pandas as pd
Сокращение pd — это не обязательно, но так принято в сообществе.
Для удобства можно настроить отображение таблиц:
pd.set_option('display.max_rows', 100)
pd.set_option('display.max_columns', 20)
pd.set_option('display.width', 1000)
pd.set_option('mode.chained_assignment', None)
Если вы не хотите ничего устанавливать на компьютер, можно использовать Google Colab или Jupyter Notebook. Это виртуальные ноутбуки, которые позволяют писать код по частям, выполнять его фрагментами и сразу видеть результат. Особенно удобно для анализа данных.
Преимущества ноутбуков:
— можно запускать только отдельные ячейки с кодом;
— графики и таблицы отображаются прямо в ноутбуке;
— легко экспериментировать, не переписывая весь код заново;
— можно делиться ноутбуком с коллегами.
Colab и Jupyter часто уже предустановлены с Pandas — импортируете библиотеку, и можно начинать работу.
Всё в Pandas строится вокруг двух ключевых объектов:
— Series — это одномерный массив. Как список, но с возможностью явно задать подписи (индексы).
— DataFrame — это двумерная таблица. Каждая строка и каждый столбец имеют свои индексы и названия.
Примеры:
# Series
import pandas as pd
values = [100, 200, 300]
labels = ['A', 'B', 'C']
s = pd.Series(values, index=labels)
print(s)
# DataFrame из словаря
data = {
"Name": ["Michael", "Igor", "Kristina"],
"Age": [39, 37, 30],
"City": ["Moscow", "Tokyo", "Seoul"]
}
df = pd.DataFrame(data)
print(df)
Можно создавать таблицы и из других структур: список списков, список словарей, массивы NumPy.
Часто данные приходят в виде файлов. Pandas легко загружает их в DataFrame:
df = pd.read_csv("data.csv") # CSV
excel_df = pd.read_excel("data.xlsx") # Excel
json_df = pd.read_json("data.json") # JSON
Также можно работать с HTML-таблицами и подключаться напрямую к SQL-базам. После обработки данные можно сохранить:
df.to_csv("result.csv", index=False)
df.to_excel("result.xlsx", index=False)
Когда вы загрузили таблицу — самое время начать её изучать. Вот несколько базовых операций.
Просмотр первых строк:
df.head()
Информация о таблице:
df.info()
Сводная статистика:
df.describe()
Фильтрация строк:
df[df['mag'] > 5]
Выбор отдельных столбцов:
df[['time', 'place']]
Доступ к конкретной ячейке:
df.loc[10, ['depth', 'mag']]
Группировка и агрегация:
df.groupby('type')['mag'].mean()
Очистка данных:
df.dropna(subset=['mag'])
df.drop_duplicates(subset=['id'])
Pandas сам по себе не строит красивые графики, но отлично работает в связке с Matplotlib и Seaborn. Вот пример гистограммы:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid")
sns.histplot(df['mag'], kde=True, bins=30, color='skyblue', stat='density')
plt.xlabel('Magnitude')
plt.ylabel('Density')
plt.title('Distribution of Earthquake Magnitudes')
plt.show()
Несколько полезных советов
— Используйте import pandas as pd, это сокращение принято везде.
— Сразу задавайте настройки отображения, если работаете с большими таблицами.
— Проверяйте структуру данных — от этого зависит, как их лучше обрабатывать.
— Всегда читайте, что вы загружаете: df.info() и df.head() очень помогут.
— Документируйте свои шаги, особенно если делаете сложный анализ.
— Пользуйтесь документацией. В Pandas масса полезных мелочей, которые легко упустить.
Pandas — это не про теорию, а про практику. Она помогает работать с данными быстрее и увереннее, экономит массу времени и избавляет от рутины. Даже если вы только начинаете путь в Python, не бойтесь пробовать. Один раз попробуете — и сложно будет представить работу с таблицами без неё.