【发布时间】:2020-10-27 15:39:04
【问题描述】:
我正在尝试使用 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 分钟)可视化它们?
【问题讨论】:
-
我没有 pandas 的答案,但你可能会创建一个新列,其中包含一些值来指示哪个间隔(即 1:第一个间隔、2:下一个间隔等)和 groupby 等.至于可视化,我不确定,但一旦你把它分组,应该很容易找到解决方案。
标签: python pandas plot histogram date-histogram