Как сделать гистограмму категориального подсчета со временем по оси X? - PullRequest
1 голос
/ 05 ноября 2019

Я хочу посчитать количество вхождений категорий в переменной и построить график в зависимости от времени. Данные выглядят следующим образом:

Date_column    Categorical_variable
20-01-2019            A
20-01-2019            B
20-01-2019            C
21-01-2019            A
21-02-2019            A
22-02-2019            B
........................
23-04-2020            A

Я хочу показать, что в январе месяце у меня был 1 случай B / C, тогда как 2 случая A. В феврале у меня был 1 случай A / B искоро. Гистограммы могут быть сложены, чтобы знать общее количество вхождений.

Я был очень близок к этому. Но я не смог нарисовать из этого сюжет.

df['Date_column'].groupby([df.Date_column.dt.year, df.Date_column.dt.month]).agg('count')

Другой способ - изменить даты на 1-е число каждого месяца, а затем группировать их, чтобы подсчитать количество событий. Но я не могу нарисовать из этого сюжет.

df.groupby(df['Date_column'], df['Categorical_variable']).count()

An example of what I need. This is not according to the data. Timeline will run into few more years

1 Ответ

1 голос
/ 05 ноября 2019

Использование crosstab с Series.dt.to_period:

df['Date_column'] = pd.to_datetime(df['Date_column'])


df = pd.crosstab(df['Date_column'].dt.to_period('m'), df['Categorical_variable'])


df.plot.bar()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...