获取直方图日期时间列表 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()
我试图根据日期时间查找关于某个关键字的推文数量。 我从我的 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()