Как сгруппировать по месяцам в Pandas DataFrame(с примером)


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

df.groupby (df.your_date_column.dt.month )['values_column']. sum ()

Эта конкретная формула группирует строки по дате в your_date_column и вычисляет сумму значений для values_column в DataFrame.

Обратите внимание, что функция dt.month() извлекает месяц из столбца даты в pandas.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как сгруппировать по месяцам в Pandas

Предположим, у нас есть следующий кадр данных pandas, который показывает продажи, сделанные какой-либо компанией в разные даты:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'date ': pd.date_range (start='1/1/2020', freq='W', periods= 10 ),
 'sales': [6, 8, 9, 11, 13, 8, 8, 15, 22, 9],
 'returns': [0, 3, 2, 2, 1, 3, 2, 4, 1, 5]})

#view DataFrame
print(df)

 date sales returns
0 2020-01-05 6 0
1 2020-01-12 8 3
2 2020-01-19 9 2
3 2020-01-26 11 2
4 2020-02-02 13 1
5 2020-02-09 8 3
6 2020-02-16 8 2
7 2020-02-23 15 4
8 2020-03-01 22 1
9 2020-03-08 9 5

Связанный: Как создать диапазон дат в Pandas

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

#calculate sum of sales grouped by month
df.groupby (df.date.dt.month )['sales']. sum ()

date
1 34
2 44
3 31
Name: sales, dtype: int64

Вот как интерпретировать вывод:

  • Общий объем продаж за первый месяц (январь) составил 34 .
  • Общий объем продаж за второй месяц (февраль) составил 44 .
  • Общий объем продаж за 3-й месяц (март) составил 31 .

Мы можем использовать аналогичный синтаксис для вычисления максимальных значений продаж, сгруппированных по месяцам:

#calculate max of sales grouped by month
df.groupby (df.date.dt.month )['sales']. max ()

date
1 11
2 15
3 22
Name: sales, dtype: int64

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

Примечание.Полную документацию по операции GroupBy в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Pandas: как рассчитать совокупную сумму по группе
Pandas: как подсчитать уникальные значения по группам
Pandas: как рассчитать корреляцию по группе

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.