Как сделать группировку с выборкой по времени с определенным интервалом?

Есть DataFrame, у которого есть столбец "Дата звонка".
Для того чтобы вывести сумму звонков за каждый час, я делал вот так:

per = df_4380['Дата звонка'].dt.to_period("H")
df_new = df_4380.groupby([per,'Кто ответил', 'День недели']).sum().reset_index()

Сейчас мне нужно вывести сумму звонков за каждые 30 минут, а не за час.

Как это сделать?


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь pd.Grouper():

res = df_4380.groupby([pd.Grouper(key='Дата звонка', freq='30T'),'Кто ответил', 'День недели']).sum().reset_index()
→ Ссылка