我现在已经收集了几天的Twitter数据,除其他外,我需要分析内容的传播方式。当用户对内容感兴趣时,我创建了一个时间戳列表,并在列名为'timestamps'的pandas df中导入了Twitter时间戳。它看起来像这样:
0 Sat Dec 14 05:13:28 +0000 2013
1 Sat Dec 14 05:21:12 +0000 2013
2 Sat Dec 14 05:23:10 +0000 2013
3 Sat Dec 14 05:27:54 +0000 2013
4 Sat Dec 14 05:37:43 +0000 2013
5 Sat Dec 14 05:39:38 +0000 2013
6 Sat Dec 14 05:41:39 +0000 2013
7 Sat Dec 14 05:43:46 +0000 2013
8 Sat Dec 14 05:44:50 +0000 2013
9 Sat Dec 14 05:47:33 +0000 2013
10 Sat Dec 14 05:49:29 +0000 2013
11 Sat Dec 14 05:55:03 +0000 2013
12 Sat Dec 14 05:59:09 +0000 2013
13 Sat Dec 14 05:59:45 +0000 2013
14 Sat Dec 14 06:17:19 +0000 2013
等。我想做的是每10分钟采样一次,并计算每个时间段内有多少用户对内容感兴趣。我的问题是我不知道如何处理从Twitter导入的时间戳。我应该使用正则表达式还是有更好的方法吗?如果有人可以提供一些指示,我将不胜感激。谢谢!
答案 0 :(得分:0)
这是ISO日期格式,可以使用pd.to_datetime
轻松转换为日期时间:
>>> df[:2]
timestamp
0 Sat Dec 14 05:13:28 +0000 2013
1 Sat Dec 14 05:21:12 +0000 2013
>>> df['timestamp'] = pd.to_datetime(df['timestamp'])
>>> df[:2]
timestamp
0 2013-12-14 05:13:28
1 2013-12-14 05:21:12
要重新取样,您可以将其设为索引,然后使用resample
>>> df.index = df['timestamp']
>>> df.resample('20Min', 'count')
2013-12-14 05:00:00 timestamp 1
2013-12-14 05:20:00 timestamp 5
2013-12-14 05:40:00 timestamp 8
2013-12-14 06:00:00 timestamp 1
dtype: int64