2017-02-06 19 views
1

1時間に5分の間隔を統合したいと考えています。パンダ自体にこれをする方法はありますか? resampleを使用してダウンスケーリングと平均化を行う方法と似ていますか?私は5分のデータを使用して各1時間の積分をダウンスケーリングして返したいと思います。リサンプルを使用してdatetimeでインデックスされたパンダのデータフレームの数値積分

import pandas as pd 
np.random.seed(1234) 
df = pd.DataFrame(np.random.rand(300,4), columns=list('ABCD'), index=pd.date_range('2017-01-01 09:00:00', periods=300, freq='5min')) 
df=df.resample('1h').mean() #can as similar method be used to find the numerical integral (eg. with trapezoidal rule)? 

答えて

0

scipy.integrate.simpsを使用してシンプソンのルールを適用して統合することができます。カスタムリサンプラを使用して、カスタムリサンプラに引数として渡された関数にシンプソンズの統合を適用する必要があります。ここで

は、あなたがそれを行うことができる方法である。

def custom_function(array_like): 
    return sp.integrate.simps(array_like) 

df = df.resample('1H').apply(custom_function) 
関連する問題