データフレームの各列を繰り返し処理して計算を実行し、結果を別のデータフレームに格納する方法を知りたいと思います。列全体を反復して結果をリストに格納する
上記の例でdf_empty = []
m = daily.ix[:,-1] #Columns= stocks & Rows= daily returns
stocks = daily.ix[:,:-1]
for col in range (len(stocks.columns)):
s = daily.ix[:,col]
covmat = np.cov(s,m)
beta = covmat[0,1]/covmat[1,1]
return (beta)
print(beta)
、Iは最初の「S」との間の共分散行列を計算する(株式を表す列毎日戻り、私は1つずつを反復したい)と「M」(市場毎日の返品は私の参照列/私のデータフレームの最後の列です)。次に、各共分散ペア株式/市場のベータを計算したいと思います。
return(beta)が1つの株式について1つの数値結果を与える理由はわかりませんが、print(beta)はすべての株式のベータ版を表示します。 これらのすべてのベータ版を使用してデータフレームを作成する方法を知りたいと思います。
beta_df = df_empty.append(beta)
私は上記のコードを試しましたが、結果を追加できないかのように「なし」を返します。 ご協力ありがとうございました
ようこそスタックオーバーフロー! [Minimal、Complete、Verifiable](http://stackoverflow.com/help/mcve)の例では、私たちがあなたを助けてくれます。 –
'return'はループを壊しますが、どうしてそんな風に使いますか? – VMAtm