こんにちは私はパンダの拡大ウィンドウの回帰ベータを計算しようとしています。私はパンダ拡大回帰ベータ
def beta(row, col1, col2):
return numpy.cov(row[col1],row[col2])/numpy.var(row[col1])
にベータ版を計算するには、次の機能を持っていると私はそれらのどれも動作しないただしdf
pandas.expanding_apply(df, beta, col1='col1', col2='col2')
pandas.expanding_apply(df, beta, kwargs={'col1':'col1', 'col2':'col2'})
df.expanding.apply(...)
私のデータフレームの拡大ベータ版を取得するには、次の試してみた、私はどちらかは述べている何かを得ますkwargsからは、通過した取得されていないか、私はbeta
機能で列名をハードコーディングしている場合、私は取得
*** IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
おかげ
例:
def beta(row, col1, col2):
return numpy.cov(row[col1],row[col2])/numpy.var(row[col1])
df = pandas.DataFrame({'a':[1,2,3,4,5],'b':[.1,5,.3,.5,6]})
pandas.expanding_apply(compute_df, beta, col1='a', col2='b')
pandas.expanding_apply(compute_df, beta, kwargs={'col1':'a', 'col2':'b'})
何をやっていると非常によく似た重回帰を、ローリングのためのベータ版を計算しようとしたとき、私はこの問題に遭遇しました
最小の実例を教えてください。それで、推測の代わりにいくつかの仮定を確認することができます。 – CodeMonkey
確か、上記を参照 – Michael
あなたのベータ関数をインスツルメントすると、expanding_applyがあなたに行を与えないことがわかります。むしろbとaの列にプログレッシブ値を与えるように見えます。 [0.15] [0.15.3] [0.15 0.3 0.5] [0.15 0.3 0.5 6.] [1. 2.] [1. 2. 3.] [1。 2. 3. 4.] [1. 2. 3. 4. 5.]ドキュメント内でこの機能に関する多くの情報を見つけることができませんでした。 – CodeMonkey