Python 如何绘制长时间内每小时发生的行数?
我有一个大的CSV文件,如下所示:Python 如何绘制长时间内每小时发生的行数?,python,pandas,Python,Pandas,我有一个大的CSV文件,如下所示: ID,Time,Disposition,eventsID,Class,teamID 1,"2011-03-02 22:18:37",1,107,2,2 2,"2011-03-02 22:19:05",1,115,1,2 3,"2011-03-02 22:19:10",1,103,4,2 4,"2011-03-02 22:19:41",1,104,1,3 5,"2011-03-03 01:24:31",1,117,4,3 这些数据跨越数月 我想显示每年月日小时
ID,Time,Disposition,eventsID,Class,teamID
1,"2011-03-02 22:18:37",1,107,2,2
2,"2011-03-02 22:19:05",1,115,1,2
3,"2011-03-02 22:19:10",1,103,4,2
4,"2011-03-02 22:19:41",1,104,1,3
5,"2011-03-03 01:24:31",1,117,4,3
这些数据跨越数月
我想显示每年月日小时发生的事件数(行)的曲线图(我不需要精确到分钟或秒)
我有以下代码:
import pandas as pd
df = pd.read_csv('rtd_log.csv')
times = pd.DatetimeIndex(df.Time)
count_per_day = df.groupby([times.year, times.month, times.day, times.hour]).count()
这使得每天的计数看起来像:
2011 3 2 22 4
3 1 1
最后一列是计数。如何使用count\u per\u day
结果绘制该计数随时间的变化?您可以使用该结果绘制图表。范例-
count_per_day.plot()
演示您添加的示例数据-
加载数据时,请确保添加
parse_dates=['Time']
,让熊猫知道这是一个datetime
列
然后,您需要的是使用为每个列编制索引,然后应用df.resample()
然后使用你想要的任何工具来绘图,条形图或线条图
df_time.plot(kind='bar', x=df_time.index)
df_time.plot(kind='bar', x=df_time.index)