Tentativa de encontrar os 5 maiores valores por mês usando groupby

Estou tentando mostrar os três principais valores denc_type para cada mês. Eu tentei usarn_largest mas isso não acontece por data.

Dados originais:

     area                                     nc_type    occurred_date  
0     Filling                                 x          12/23/2015 0:00   
1     Filling                                 f          12/22/2015 0:00   
2     Filling                                 s          9/11/2015 0:00   
3     Filling                                 f          2/17/2016 0:00   
4     Filling                                 s          5/3/2016 0:00   
5     Filling                                 g          8/29/2016 0:00   
6     Filling                                 f          9/9/2016 0:00   
7     Filling                                 a          6/1/2016 0:00

Transformado com:

df.groupby([df.occurred_date.dt.month, "nc_type"])["rand"].count()

Dados transformados:

occurred_date  nc_type                                   
1              x                            3
               y                            4
               z                           13
               w                           24
               f                           34
                                           ..
12             d                           18
               g                           10
               w                           44
               a                           27
               g                           42

questionAnswers(2)

yourAnswerToTheQuestion