2016-05-16 15 views
1

私は、時系列の測定値を表すパンダデータフレームを持っています。インデックスはミリ秒単位の日付で、順番に並べられています。データフレームは次のようになります時系列でストップバインドパンダインデックス

Out[51]: 
             host info parameter units value 
time                   
1462964269947 parapluie-13.rennes.grid5000.fr None cpu_idl  % 98.624 
1462964269947 parapluie-13.rennes.grid5000.fr None cpu_usr  % 1.209 
1462964269947 parapluie-13.rennes.grid5000.fr None cpu_sys  % 0.167 
1462964269948 parapluie-13.rennes.grid5000.fr None cpu_hiq  % 0.000 
1462964269948 parapluie-13.rennes.grid5000.fr None cpu_wait  % 0.000 
1462964269961 parapluie-13.rennes.grid5000.fr None cpu_siq  % 0.000 

データフレームを最初から最後までスライスしたいと考えています。ただし、この値は索引内にある場合とそうでない場合があります。そのため、私は次のエラーを取得しています:

In[54]: dfg2.loc[1462964269947:1462964269963] 

KeyError: 'stop bound [1462964269963] is not in the [index]'

はとにかく設定し、インデックスと、彼らはインデックスに存在しない場合でも、値の範囲をスライスするのはありますか?あなたはboolean indexingを使用することができ、事前

答えて

1

ありがとう:私は見

print (df.index > 1462964269947) & (df.index < 1462964269963) 
[False False False True True True] 

print df[(df.index > 1462964269947) & (df.index < 1462964269963)] 
              host info parameter units value 
time                  
1462964269948 parapluie-13.rennes.grid5000.fr None cpu_hiq  % 0.0 
1462964269948 parapluie-13.rennes.grid5000.fr None cpu_wait  % 0.0 
1462964269961 parapluie-13.rennes.grid5000.fr None cpu_siq  % 0.0 
+0

。私は時間がインデックスではなくデータフレームの列であるときにいくつかのパフォーマンスの問題があったのでスライスしようとしていました。 (df.time> start)&(df.time Brandon

+0

はい、そうです。残念ながら私は他のアイデアはありません。 – jezrael

+0

私はmongoデータベースのインデックスから直接データを取得しました。それは私がそれを受け入れるので、とにかく有効な答えです – Brandon