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-файл в полноценный аналитический источник.

Комментарии (4)


  1. dyadyaSerezha
    23.08.2025 12:58

    Pandas — это изумительная библиотека на Python

    Нет. Это изумительная библиотека для Python на C. Точнее, все собственно вычисления написаны на С или используют другую изумительную библиотеку NumPy, вычисления в которой... написаны на С, С++ и Fortran. Не дорос ещё Python до собственных вычислений. И никогда не дорастет, будем честны.


    1. nilske
      23.08.2025 12:58

      Мне кажется автор имел виду "для Python", но можно, конечно, поумничать.


      1. kompilainenn2
        23.08.2025 12:58

        ну хочется дяде Сереже подушнить, уж будьте снисходительны