Панды: как группировать по времени для каждого значения в другом столбце - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть такой фрейм данных:

column-one   column-two      column-3     column-4     column-5    date
 aaa           qqq             cat1         dsj           dak     2010-01-01 20:00:00
 ooo           www             cat2         fnk           qwe     2011-01-02 19:00:00
 oll           wee             cat2         fek           wqw     2011-03-02 22:00:00

Столбец 3 содержит категории в этом фрейме.Есть примерно 10-12 отдельных категорий.Для каждой категории я пытаюсь подсчитать, сколько раз это происходит за каждый раз (час / дата и т. Д.) В столбце «дата».В конечном итоге я хочу иметь возможность составить график моих результатов для каждой категории в отдельности.А также возможность сохранять мои результаты в кадре данных.

Эта проблема меня давно озадачила.Если у кого-то есть предложения, пожалуйста, дайте мне знать.Или если вам нужна дополнительная информация.Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Немного сложно понять твой вопрос.Этот ответ отвечает на ваш комментарий для @Sina Shabani.Если вы хотите получать эту информацию только для одного столбца за раз, вы должны использовать:

 col_val_i_want = 'cat1' # Define what you want
 mask = df['column-3'].eq(col_val_i_want) # Create a filter
 df[mask].groupby('date').count() # Group by and get the count
0 голосов
/ 22 февраля 2019

Я думаю, вы могли бы искать это?

 df.groupby(['date', 'column-3']).size()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...