Как агрегировать дни по годам-месяцам и сводке, чтобы количество стало count_source, суммированным за месяц с помощью Python

#python

#python

Вопрос:

Я манипулирую некоторыми данными в Python, и мне было интересно, может ли кто-нибудь помочь.

У меня есть данные, которые выглядят следующим образом:

     count   source  timestamp   tokens
0   1   alt-right-census    2006-03-21  setting
1   1   alt-right-census    2006-03-21  twttr
2   1   stormfront          2006-06-24  head
3   1   stormfront          2006-10-07  five
  

и мне нужны данные, которые выглядят следующим образом:

 count_stormfront count_alt-right-census month    token
2                1                      2006-01  setting
  

или вот так:

            date     token  alt_count  storm_count
4069995 2016-09  zealand        0        0
4069996 2016-09     zero       11        8
4069997 2016-09     zika      295      160
  

Как я могу агрегировать дни по годам-месяцам и сводке, чтобы количество стало суммированным по count_source за месяц?

Будем признательны за любую помощь. Спасибо!

Ответ №1:

 df.groupby(['source', df['timestamp'].str[:7]]).size().unstack()
  

Результат:

 timestamp         2006-03  2006-06  2006-10
source                                     
alt-right-census      2.0      NaN      NaN
stormfront            NaN      1.0      1.0