2012-03-18 22 views
4

パンダはまだduplicate time series indexeshttps://github.com/pydata/pandas/issues/643)を許可していませんが、すぐに追加されます。私は、複数のインデックスのタグ/列によって重複時間を持つデータセットにローリングウィンドウ手段を適用する良い方法があるのだろうかと思っています。タグ1、タグ2)、および所要時間。小さなサンプル:パンダは重複した時系列データのメジアンを返す

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

私がしたいことは、イベントとイベント+タグによって、さまざまなmsウィンドウでビルドとグラフの平均化を行うことです。これはパンダで成し遂げられるべきだが、時系列の重複インデックスが最初になるまで待つ必要があるかどうかはわからない。この場所でこれをハッキングすると思っていますか?

答えて

4

今、あなたを停止するには、本当に何もない:タイムスタンプで特定の値にアクセスする

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についてのメーリングリストで発言することができればあなたのアプリケーションの要件は、今私たちが積極的に時系列機能を積極的に取り組んでいるので、私と皆のために役立つでしょう。

+0

verify_integrityの説明をありがとうございました 私のデータ分析の名前は、私には負担してください。私は正しく理解していますが、現在のウィンドウの時系列データを移動する最小の細分性は1日ですか? 2番目のレベルのデータがある場合、30秒分のデータをタグごとに平均化して平均化することはできません。 http://groups.google.com/group/pystatsmodelsにユースケースを投稿してください。 – Aaron

+0

移動ウィンドウ関数は配列関数であり、固定数のウィンドウサイズを持つ。 30の値。したがって、30秒間のウィンドウの概念は意味をなさない(まだ)。秒間の値がない場合は、 'asfreq'(pandas.core.datetoolsを参照)を使用して2回目のルールにデータを再調整し、' rolling_mean'を 'window = 30'で使用することができます –

関連する問題