Панды: частота счета (гистограмма) в соответствии со значением - PullRequest
0 голосов
/ 17 октября 2018

У меня есть фрейм данных, где строки - время, столбцы - дата, а каждое значение записи - частота.Как я мог генерировать гистограмму, показывающую в каждом периоде 30 минут в день, сколько частот там?

В настоящее время я использую df.groupby(pd.Grouper(freq='30Min')).count().Однако count() не принимает значения ввода.

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

         03/12  03/13
1:00:01    2      3
1:00:02    3      4
1:31:03    1      2

Токовый выход:

         03/12  03/13
1:00:00    2      2
1:30:00    1      1

Требуемый выходдолжно быть:

         03/12  03/13
1:00:00    5      7
1:30:00    1      2

Как упомянуто @jezrael, я поставил отметку resample в своем наборе данных.Вот результаты:

In [270]: %timeit date_df.resample('30Min').count()
7.7 ms ± 10.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [271]: %timeit date_df.groupby(pd.Grouper(freq='30Min')).count()
7.99 ms ± 49.9 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

1 Ответ

0 голосов
/ 17 октября 2018

Использование sum:

df1 = df.groupby(pd.Grouper(freq='30Min')).sum()
#alternative solution
#df1 = df.resample('30Min').sum()
print (df1)
          03/12  03/13
01:00:01      5      7
01:30:01      1      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...