【发布时间】:2017-07-16 15:29:36
【问题描述】:
我想知道如何遍历数据帧的每一列以执行一些计算并将结果存储在另一个数据帧中。
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)
在上面的例子中,我首先要计算“s”(代表股票每日收益的列,我想对其逐一迭代)和“m”(市场每日收益)之间的协方差矩阵我的参考列/我的数据框的最后一列)。然后我想计算每个协方差对股票/市场的 beta。
我不确定为什么 return(beta) 给我一个股票的单一数字结果,而 print(beta) 打印所有股票的 beta。 我想找到一种方法来创建包含所有这些测试版的数据框。
beta_df = df_empty.append(beta)
我已经尝试了上面的代码,但它返回“无”,就好像它无法附加结果一样。 谢谢你的帮助
【问题讨论】:
-
欢迎来到 Stack Overflow! Minimal, Complete, and Verifiable 示例使我们更容易为您提供帮助。
-
return确实打破了循环,你为什么这样使用它?