2013-12-17 54 views
2

我一直在收集Twitter數據幾天,除此之外,我需要分析內容傳播的方式。當用戶對內容感興趣時,我創建了一個時間戳列表,並在pandas df中導入了twitter時間戳,列名爲'timestamps'。它看起來像這樣:在熊貓中使用日期

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

這是ISO日期格式,它可以很容易地轉換成datetime與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 
+0

謝謝!還有一個問題。我如何抽樣這個DF?我需要查看有多少用戶以10分鐘的時間間隔(或以任何時間間隔)請求內容。我如何找到從5:13:28到5:23:28間隔的所有元素? (如果你可以指點我的任何教程或文檔)。我從來沒有與熊貓一起工作過。 – Anastasia

+0

@Anastasia有內建resample方法,請參閱我的答案中的示例和文檔鏈接。 – alko