1
私は以下のようなデータフレームを持っています。私は定義した関数(hurst())を各列に適用し(時系列を引数として)、結果を別のデータフレームに出力したいと思います。データフレーム列に関数を適用する
def hurst(ts):
#returns the Hurst Exponent of the time series vector ts
# Create the range of lag values
lags = range (1,5)
# Calculate the array of the variances of the lagged differences
tau = [sqrt(std(subtract(ts[lag:], ts[:-lag]))) for lag in lags]
# Use a linear fit to estimate the Hurst Exponent
poly = polyfit(log(lags), log(tau), 1)
# Return the Hurst exponent from the polyfit output
return poly[0]*2.0
はどのようにして、完全なデータフレームが1Y Dtの歴史を持ち、E、Fなど
'df.sum()'には何の問題がありますか?この簡略化された例には既に回答がありますので、正確に問題を定義することに役立ちます – EdChum
はい。 'apply' df.apply(yourFunction)を列方向または行方向のどちらかにします(推奨しません)。 –
私の関数は以下の通りですが、df.apply(hurst、axis = 1)を使用すると、配列エラーの一部を変更できません。 DEFハースト(TS): #は遅れの範囲は ラグ値=範囲(2,50) 位遅れの分散のアレイを計算作成TS 時系列ベクトルのハースト指数#returns #ハルスト指数を推定するために線形近似を使用する poly = polyfit(log(lag:tg [lag: return poly [0] * 2.0 –