获取直方图日期时间列表 python

Getting histogram datetime list python

我试图根据日期时间查找关于某个关键字的推文数量。 我从我的 dataset.I 收集了相关的推文和日期,有一个日期时间列表,如下所示。

2018-06-22 00:47:25.000000
2018-06-22 00:47:34.000000
2018-06-22 00:52:55.000000
2018-06-22 00:59:43.000000
2018-06-22 01:00:14.000000
2018-06-22 01:00:26.000000
2018-06-22 01:00:32.000000
2018-06-22 01:00:58.000000
...

我想创建一个不同间隔的直方图。

1分钟间隔的输出:

2018-06-22 00:47-00:48  =2
2018-06-22 00:48-00:49  =0
2018-06-22 00:49-00:50  =0
...
2018-06-22 00:52-00:53  =1
...
2018-06-22 00:59-01:00  =1
2018-06-22 01:00-01:01  =4

5 分钟间隔的输出:

2018-06-22 00:47-00:52  =2
2018-06-22 00:52-00:57  =1
2018-06-22 00:57-01:02  =5

"Parsing dates and count intervals manually" 好像很难。我怎样才能轻松做到这一点?

我会分 3 个步骤打破它:间隔的开始和结束,然后使用 datime 的函数创建增量,

import datetime
date= '2018-06-22 00:47-00:52'
start= date[0:-6]
print( start) 
start_parsed = datetime.datetime.strptime(start, '%Y-%m-%d %H:%M').strftime("%d/%m/%y - %H:%M")

希望对您有所帮助 在间隔结束时做同样的事情,并使用同一个库中的 delta 函数,

我修好了。我使用熊猫和 numpy。 为范围提供两个日期时间并设置频率。

intervals = pd.date_range('2018-06-22 00:00:00','2018-06-23 00:00:00', freq='60min')

由于计算正确间隔内的推文数量,创建一个用零填充的数组

count_interval = np.zeros(intervals.size)

推文时间存储在"tDate"列表中,使用下面的代码为每条推文的时间搜索合适的间隔。

for tDate in tweetDates:
    index = 0
    for inter in intervals:
        if (pd.Timestamp(tDate) >= intervals[index]) & (pd.Timestamp(tDate) < intervals[index + 1]):
            count_interval[index] = count_interval[index]+1
            break
        else:
            index = index+1

之后,用matplotlib库绘图。

plt.plot(intervals, count_interval, linewidth=1.0)
plt.show()