Python 熊猫每分钟的日期直方图

Python 熊猫每分钟的日期直方图,python,pandas,plot,histogram,date-histogram,Python,Pandas,Plot,Histogram,Date Histogram,我试图用pandas绘制一个简单的日期柱状图(只需计算每N分钟发生的次数)。 然而,我所能达到的最佳效果如下: import pandas as pd df = pd.read_csv('mydata.csv',sep=' ',usecols=[0,1]) df.columns = ['smdate', 'smtime'] df= pd.to_datetime(df['smtime']) print(df) df.groupby(df.dt.minute).count().plot(kind=&

我试图用pandas绘制一个简单的日期柱状图(只需计算每N分钟发生的次数)。 然而,我所能达到的最佳效果如下:

import pandas as pd
df = pd.read_csv('mydata.csv',sep=' ',usecols=[0,1])
df.columns = ['smdate', 'smtime']
df= pd.to_datetime(df['smtime'])
print(df)
df.groupby(df.dt.minute).count().plot(kind="bar",figsize=(50,10))
样本输出:

0        2020-07-07 00:00:07.538
1        2020-07-07 00:00:09.278
2        2020-07-07 00:00:09.292
3        2020-07-07 00:00:10.682
4        2020-07-07 00:00:14.198
                   ...          
262516   2020-07-07 15:54:44.056
262517   2020-07-07 15:54:44.270
262518   2020-07-07 15:54:44.450
262519   2020-07-07 15:54:44.697
262520   2020-07-07 15:54:45.210
Name: smtime, Length: 262521, dtype: datetime64[ns]
密谋

我的问题是如何将我的帧进行最佳分组(即10-20分钟)?
还有,绘制这么多事件的最佳方法是什么,这样我就可以在上面提到的时间间隔内(每N分钟)看到它们?

我想你在找熊猫。
它允许您指定所需的任何频率或间隔

以下是一个间隔10分钟的工作示例:

import pandas as pd
df = pd.read_csv('mydata.csv',sep=';',usecols=[0,1])
df.columns = ['smdate', 'smtime']

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

df.groupby(pd.Grouper(key='smtime', freq='10Min')).count().plot(kind="bar",figsize=(50,10))
在这里,我保留了最初的数据帧结构;我无法让它处理datetime Series对象(Grouper函数尝试处理索引而不是序列值)。我尝试了axis参数,但没有成功。如果有人能直接用这个系列来改进我的答案,我会很高兴

不起作用示例:

import pandas as pd
df = pd.read_csv('mydata.csv',sep=';',usecols=[0,1])
df.columns = ['smdate', 'smtime']

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

df.groupby(pd.Grouper(freq='10Min')).count().plot(kind="bar",figsize=(50,10))

我没有答案,但您可能会创建一个新列,其中包含一些值,指示哪个间隔(即1:第一个间隔、2:下一个间隔等等)和groupby。至于可视化,我不确定,但一旦你把它分组,应该很容易找到解决方案。