Как группировать и подсчитывать значения в определенном столбце c - PullRequest
0 голосов
/ 10 июля 2020

У меня есть датафрейм procs , где каждый месяц происходило несколько id s, а также каждый id проходил несколько раз:

procs.groupby(['month', 'id']).size()

month               id                   
2015-02             UA-2015-02-06-000018-L1       5
                    UA-2015-02-09-000009-L1      10
                    UA-2015-02-10-000001-L1       5
                    UA-2015-02-10-000010-L1       3
                    UA-2015-02-16-000002-L1       6
                    UA-2015-02-26-000005-L1       6

2015-03             UA-2015-03-05-000001-L1       2
                    UA-2015-03-05-000003-L1       2
                    UA-2015-03-05-000004-L1       4
                    UA-2015-03-06-000009-L1       1
                    UA-2015-03-06-000010-L1       6
                              ...

Я хочу подсчитывать количество id в каждом месяце. Я пробовал вариант ниже, но получаю общее количество строк в каждом месяце, а не количество id :

procs.groupby(['month'])['id'].count()

month
2015-02       35
2015-03      209
2015-04      442
2015-05      497
2015-06      933
           ...  

I нужно получить это:

month       number_id 
2015-02     6
           ...

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Насколько я понимаю из нижеприведенных комментариев вам нужна группа групп:

procs.groupby(['month','id'])['month'].count().groupby(['month']).count()
0 голосов
/ 10 июля 2020

Попробуйте:

procs.groupby(['month', 'id']).size().groupby(['month']).count()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...