2017-05-10 10 views
1

私のtimeseriesデータの最小値と最大値の間を陰にするためにmatplotlibを使用したいと思います。ここにデータのサンプルがあります。最小値と最大値をどのように取得するのですか?時系列データの最小値と最大値を取得するには

例えば

index  time   value 
    1 08:00:00   100 
    2 08:00:01   100 
    3 08:00:01   101 
    4 08:00:02   100 
    5 08:00:02   102 
    6 08:00:02   101 

私が欲しいものさ(私は5902761,5902770としての時間を持って下記のその時は、文字列の形式であることに注意が、私は、前日〇時00分00秒からの秒単位の時間を持っています) rename

index  time  min_value max_value 
    1  08:00:00   100   100 
    2  08:00:01   100   101 
    3  08:00:02   100   102 

答えて

4

使用aggregate

d = {'min':'min_value','max':'max_value'} 
df = df.groupby('time')['value'].agg([min, max]).reset_index().rename(columns=d) 
print (df) 
     time min_value max_value 
0 08:00:00  100  100 
1 08:00:01  100  101 
2 08:00:02  100  102 

理由:

df = df.groupby('time')['value'].agg({'min_value':'min','max_value':'max'}) 

FutureWarning:凝集 ためシリーズの辞書を使用することが推奨されておらず、将来のバージョン DF = df.groupby( '時間')[ '値']に除去されます。 agg({'min': 'min_value'、 'max': 'max_value'})