Pandas — это изумительная библиотека на Python для анализа и обработки данных. Она настолько хороша, что проще сказать, чего она не умеет, чем перечислить все её возможности. В мире аналитики это настоящий швейцарский нож.
В этой статье я хочу поделиться личным топом методов, которые помогают в первичной обработке больших данных.
Подготовка данных
Для примеров я использую датасет по недвижимости в индийском регионе Хайдарабад (CSV можно взять по ссылке).
import pandas as pd
# загружаем данные
data = pd.read_csv(r'ваш_путь_к_файлу\Hyderabad.csv')
# смотрим первые и последние строки
data.head(10)
data.tail(10)
# список всех колонок
data.columns
1. Первичный анализ: агрегаты
mean_price = data['Price'].mean() # среднее
max_price = data['Price'].max() # максимум
min_price = data['Price'].min() # минимум
sum_price = data['Price'].sum() # сумма
std_price = data['Price'].std() # стандартное отклонение
median_price = data['Price'].median() # медиана
count_data = data['Price'].count() # количество непустых значений
И мега-метод:
data['Price'].describe()
2. Фильтрация
Фильтрация в Pandas удобна, но с нюансами: вместо and/or/not
используются &
, |
, ~
.
# исключаем Madhapur
data[data['Location'] != 'Madhapur']
# несколько условий
data[(data['Location'] != 'Madhapur') & (data['Price'] < 3_000_000)]
# с бассейном и спортзалом
data[(data['SwimmingPool'] == 1) & (data['Gymnasium'] == 1)]
3. Поиск минимальной цены
filtered = data[(data['SwimmingPool'] == 1) & (data['Gymnasium'] == 1)]
min_house = filtered[filtered['Price'] == filtered['Price'].min()]
👉 Так находим самый дешёвый дом с заданными условиями.
4. GroupBy
Метод groupby
— один из самых сильных в Pandas (и очень похож на SQL).
# максимум цены по каждой локации
data.groupby('Location')['Price'].max()
# несколько агрегатов
data.groupby('Location')['Price'].agg(['max', 'min', 'mean', 'median'])
5. Between и isin
# цены между 10 и 50 млн
data[data['Price'].between(10_000_000, 50_000_000)]
# проверка на вхождение
data[data['Location'].isin(['Delhi', 'Mumbai'])]
6. Уникальность и дубликаты
# уникальные значения
data['No. of Bedrooms'].unique()
# количество уникальных
data['Location'].nunique()
# частота значений
data['Location'].value_counts()
# поиск дубликатов
data['Location'].duplicated()
# удаление дубликатов
data['Location'].drop_duplicates()
Итоги
Вот быстрый чек-лист полезных методов Pandas:
📊
mean(), max(), min(), sum(), std(), median(), describe()
— агрегаты🔎
[]
,& | ~
— фильтрация🏷
groupby(), agg()
— группировка📐
between(), isin()
— выборки по условиям🎭
unique(), value_counts(), nunique()
— уникальные значения🔄
duplicated(), drop_duplicates()
— дубликаты
👉 Pandas — мощный инструмент, а эти методы — лишь малая часть его возможностей. Но даже они позволяют превратить CSV-файл в полноценный аналитический источник.