Попытка создать диаграмму на основе активности за 24-часовой период

#python #pandas #matplotlib #pandas-groupby

#python #pandas #matplotlib #pandas-groupby

Вопрос:

Заранее извиняюсь, если я скажу что-то, что не имеет смысла. Я пытался обучить себя Python на курсах Udemy, поэтому я не самый осведомленный.

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

У меня есть df журналов. Один из столбцов — это столбец «время». Пример ’15:27:33′

Сначала я попытался создать столбчатую диаграмму, чтобы подсчитать количество действий, которые выполнялись каждые 15 минут.

 timedf = df.filter(['time'])
timedf.set_index('time', drop=False, inplace=True)
timedf.groupby(pd.Grouper(freq='15Min')).count().plot(kind='bar')
 

Но я получил ошибку: TypeError: допустимо только для DatetimeIndex, TimedeltaIndex или PeriodIndex, но получил экземпляр ‘Index’

Я попытался сделать это с помощью DateTime вместо этого, и он построил график, но поскольку этот df охватывает 60 дней, он был нечитаемым. Я просто пытаюсь отобразить количество журналов, которые пользователь имеет в течение каждого 15-минутного окна 24-часового дня. Какие-либо рекомендации?

Ответ №1:

Вы можете попробовать преобразовать тип данных столбца ‘time’ в тип данных DatetimeIndex, чтобы вы могли выполнять такие операции

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

Комментарии:

1. Вау. Это было так просто. Спасибо!

2. Приветствую вас. Если это сработает, будет хорошо, если вы выберете ответ, спасибо