Скользящая медиана панд для повторяющихся данных временных рядов - PullRequest
4 голосов
/ 19 марта 2012

Я вижу, что Pandas не разрешает дублировать индексы временных рядов (https://github.com/pydata/pandas/issues/643),, но будет добавлен в ближайшее время. Мне интересно, есть ли хороший способ применить скользящее оконное средство кнабор данных с дублирующимся временем по многоиндексному тегу / столбцу

В основном у меня есть CSV неупорядоченных событий, которые состоят из времени эпохи, иерархических тегов (tag1, tag2) и времени, взятого. Небольшой образец:

 epochTimeMS,event,tag,timeTakenMS
 1331782842801,event1,tag1,16
 1331782841535,event1,tag2,1278
 1331782842801,event1,tag1,17
 1331782842381,event2,tag1,436

То, что я хочу сделать, это построить и прокрутить график средствами с различными мс окнами, по событию и событию + тег. Это похоже на то, что это должно быть выполнено в Pandas, но не уверен, если мне нужно будет ждатьпока сначала не появятся дублирующие индексы временных рядов. Есть какие-нибудь мысли по поводу взлома этого сейчас?

1 Ответ

4 голосов
/ 19 марта 2012

Ничто не может остановить тебя прямо сейчас:

In [17]: idf = df.set_index(['tag', 'epochTimeMS'], verify_integrity=False).sort_index()

In [18]: idf
Out[18]: 
                     event  timeTakenMS
tag  epochTimeMS                       
tag1 1331782842381  event2          436
     1331782842801  event1           16
     1331782842801  event1           17
tag2 1331782841535  event1         1278

In [20]: idf.ix['tag1']
Out[20]: 
                event  timeTakenMS
epochTimeMS                       
1331782842381  event2          436
1331782842801  event1           16
1331782842801  event1           17

Доступ к определенным значениям по метке времени вызовет исключение (это будет улучшено, как вы упомянули), но вы, безусловно, можете работать с данными. Теперь, если вам нужно окно фиксированной длины (во временном пространстве), оно еще не очень хорошо поддерживается, но я создал здесь проблему:

https://github.com/pydata/pandas/issues/936

Если бы вы могли рассказать в своем списке рассылки о ваших требованиях к API в вашем приложении, это было бы полезно для меня и ребят, поскольку мы сейчас активно работаем над возможностями временных рядов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...