2016-06-15 12 views
5

ずに一日あたりのデータフレームのリサンプルIは、次の形式のパンダでデータフレームがあります。パンダ日付時間インデックス

ここ
 timestamps   light 
7 2004-02-28 00:58:45 150.88 
26 2004-02-28 00:59:45 143.52 
34 2004-02-28 01:00:45 150.88 
42 2004-02-28 01:01:15 150.88 
59 2004-02-28 01:02:15 150.88 

は、インデックスは、タイムスタンプ列ではないことに注意してください。しかし、私は1分、1時間、1日あたりの軽いカラムの平均値を反映するために、何らかの形でデータを再サンプリングしたいと思います。私はresampleメソッドを見ました。パンダが提供するメソッドであり、データフレームにはデータタイムインデックス(私がこれを誤解していない限り)メソッドが動作するために。

  1. だから私の最初の質問は、私は再インデックスすることができますインデックス(ない各行が一意のタイムスタンプを持っていることに注意し、各タイムスタンプのために、同じタイムスタンプを持つ約30行があるとして、タイムスタンプを持っているデータフレームを、ありますそれぞれセンサを表す)。

  2. そうでなければ、1時間当たり、1日あたり、1ヶ月あたりの光の平均値を持つ別のデータフレームを達成する可能性があります。

助けてください。

答えて

5

あなたは正しいです - 必要DatetimeIndexTimedeltaIndexまたはPeriodIndex他のエラー:元indexが重要な場合

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'

だから、最初reset_indexset_indexにあります

print (df.reset_index().set_index('timestamps')) 
        index light 
timestamps       
2004-02-28 00:58:45  7 150.88 
2004-02-28 00:59:45  26 143.52 
2004-02-28 01:00:45  34 150.88 
2004-02-28 01:01:15  42 150.88 
2004-02-28 01:02:15  59 150.88 

ない場合にのみset_index

print (df.set_index('timestamps')) 
         light 
timestamps     
2004-02-28 00:58:45 150.88 
2004-02-28 00:59:45 143.52 
2004-02-28 01:00:45 150.88 
2004-02-28 01:01:15 150.88 
2004-02-28 01:02:15 150.88 

、次にresample

print (df.reset_index().set_index('timestamps').resample('1D').mean()) 
      index light 
timestamps     
2004-02-28 33.6 149.408 
関連する問題