2013-12-17 7 views
2

Я собираю данные в Twitter за пару дней и, помимо прочего, мне нужно проанализировать, как распространяется контент. Я создал список временных меток, когда пользователи интересовались контентом и импортировали метки времени в twitter в pandas df с именем столбца «timestamps». Это выглядит следующим образом:Работа с датами в pandas

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 есть встроенный метод повторной выборки, см. Пример и ссылку на документы в моем ответе. – alko

Смежные вопросы