В Python у меня есть фрейм данных (gme_interaction) с тремя столбцами. Один столбец — это время (создано), когда сообщение было прокомментировано. Во втором столбце указано количество комментариев, полученных сообщениями (num_comments), а в третьем столбце — сам комментарий.
Мне нужен график, отображающий частоту комментариев в день с течением времени. Как бы вы это сделали?
Пример фрейма данных, который похож на настоящий:
df = pd.DataFrame([["2021-01-01 00:02:06", "text", 4], ["2021-01-01 00:03:20", "[ удалено]", 6], ["2021-01-01 00:04:11", "текст", 10]], columns=['создано', 'комментарий', 'num_comments']) Тем не менее, created имеет тип datetime64[ns]. (Просто не знаю, как это передать в кадре данных).
Пока я так и сделал, но не уверен, что это отображает то, что я действительно хочу.
gme_comments_per_day = gme_interaction.groupby(gme_interaction['created'])['num_comments'].sum() ### Построение графика plt.figure(figsize=(20, 12)) sns.barplot(x='created', y='num_comments', data=gme_comments_per_day) plt.title('Название') plt.xlabel('Время') plt.ylabel('Общее количество комментариев') # Форматируем метки оси X plt.gca().xaxis.set_major_locator(mdates.DayLocator()) # Устанавливаем основные тики в днях plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d')) # Отображение номера дня # Установите незначительные галочки с 6-часовыми интервалами (отрегулируйте под ваши конкретные интервалы) plt.gca().xaxis.set_minor_formatter(mdates.DateFormatter('%I%p')) # Отображение интервалов времени #plt.xticks(rotation=50) # Поворот меток по оси X для лучшей читаемости plt.tight_layout() plt.savefig('Эволюция взаимодействия в WSB во время GME.pdf') plt.show() Мой график выглядит так, но я с подозрением отношусь к падению между 26 и 27 числами:

Что еще меня подозрительно, так это то, как прописаны дни, они немного неправильные.