Menu
Coddy logo textTech

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

Урок 15 из 19 курса Аналитика в pandas на Coddy.

Группировка и агрегирование данных имеют решающее значение при работе с большими наборами данных, так как они помогают упростить и обобщить данные способами, облегчающими их понимание и анализ.

В предыдущем уроке мы вычисляли статистику для конкретной группы, но вычисление статистики для всех групп может быть затруднительным без дополнительных инструментов. Для этого у нас есть метод .groupby():

df.groupby('column_name')

Это вернет объект GroupBy, который группирует строки датафрейма по значениям column_name. Вы можете применять агрегатные функции к этому объекту GroupBy для выполнения вычислений внутри этих групп.

Как только данные сгруппированы, мы можем выполнить несколько агрегирующих функций для обобщения данных, таких как:

df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()

Это вернет sum, min и max всех остальных числовых столбцов в исходном датафрейме, разделенных по column_name.

Теперь вы можете извлечь конкретный столбец, который вы анализируете:

df.groupby('column_name').sum()['other_column']
challenge icon

Задание

Легко

CSV-файл visits.csv содержит информацию о том, сколько посещений было совершено в определенном месте в определенное время.

Вот первые 5 строк файла:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

Создайте словарь со следующими ключами: min, max, mean, std, sum и median, и предоставьте series, соответствующие статистике столбца visits для каждого location id.

Попробуйте сами

# pandas как pd уже импортирован
df = pd.read_csv("./visits.csv")
# Напишите свой код ниже
sum_visits = df.groupby("location_id").sum()["visits"]

res = {
    "min": # заполнить
    "max": # заполнить
    "mean": # заполнить
    "std": # заполнить
    "median": # заполнить
    "sum": sum_visits
}
print(res)

Все уроки раздела Аналитика в pandas