2016-06-09 9 views
2

У меня есть dataframe с колонками date, name, id (данные излишни).
Теперь я хочу, чтобы получить частоту комбинации (date, name, id) Для этого подают groupby на моем dataframe:groupby - python pandas dataframe

df.groupby(['date','uname','id']).size() 

который дает мне результат, как:

date  uname    id  size       
2016-02-11 [email protected]   111  1 
      [email protected]   1080  2 
      [email protected]   5315  1 
           5317  1 
      [email protected]  536  2 
2-16-02-12 [email protected]  588  1 
           593  2  
      [email protected]  322  1 

Но Я хочу, чтобы у меня был такой результат:

date  uname    id  size       
2016-02-11 [email protected]   111  1 
2016-02-11 [email protected]   1080  2 
2016-02-11 [email protected]   5315  1 
2016-02-11 [email protected]   5317  1 
2016-02-11 [email protected]  536  2 
2-16-02-12 [email protected]  588  1 
2-16-02-12 [email protected]  593  2  
2-16-02-12 [email protected]  322  1 

Цените предложения

ответ

2

Вам нужно reset_index:

df.groupby(['date','uname','id']).size().reset_index() 

     date    uname id size 
0 2016-02-11   [email protected] 111  1 
1 2016-02-11   [email protected] 1080  2 
2 2016-02-11  [email protected] 5315  1 
3 2016-02-11  [email protected] 5317  1 
4 2016-02-11 [email protected] 536  2 
5 2-16-02-12 [email protected] 588  1 
6 2-16-02-12 [email protected] 593  2 
7 2-16-02-12 [email protected] 322  1 
+0

О, круто! Я проверял reset_index, но я стараюсь использовать это с некоторым заблуждением. Спасибо !! – Denver

+0

Рад может вам помочь! Приятный день! – jezrael

Смежные вопросы