Pandas Start Week в воскресенье при использовании Group By для дат и подсчета событий за период - PullRequest
0 голосов
/ 01 мая 2018

У меня есть некоторые данные и столбец даты. Запустив команду ниже, она проходит через DF и считает все события, произошедшие за эту неделю.

df['date'].groupby(df.date.dt.to_period("W")).agg('count')

Результат примерно такой:

2018-04-16/2018-04-22    40
2018-04-23/2018-04-29    18

Недели начинаются в понедельник и заканчиваются в воскресенье.

Я хочу, чтобы неделя начиналась в воскресенье и заканчивалась в субботу. Итак, данные должны быть

2018-04-15/2018-04-21    40
2018-04-22/2018-04-28    18 

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Использование:

df = pd.DataFrame({'Date':np.random.choice(pd.date_range('2018-04-10',periods=365, freq='D'),1000)})

df.groupby(df['Date'].dt.to_period('W-SAT')).agg('count')

Выход:

                       Date
Date                       
2018-04-08/2018-04-14    12
2018-04-15/2018-04-21    19
2018-04-22/2018-04-28    21
2018-04-29/2018-05-05    16
2018-05-06/2018-05-12    21
0 голосов
/ 01 мая 2018

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

W-SUN   weekly frequency (Sundays). Same as ‘W’
W-MON   weekly frequency (Mondays)
W-TUE   weekly frequency (Tuesdays)
W-WED   weekly frequency (Wednesdays)
W-THU   weekly frequency (Thursdays)
W-FRI   weekly frequency (Fridays)
W-SAT   weekly frequency (Saturdays)

Поскольку вы хотите, чтобы неделя заканчивалась в субботу, W-SAT следует достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...