我正试图将不同的平均值列表保存到一个名为
storage_risk_prem
使用以下代码:
storage_risk_prem=list(range(len(simul_data)))
avg_risk_prem=list(range(len(simul_data[0])))
for i in range(len(simul_data)):
for j in range(len(avg_risk_prem)):
avg_risk_prem[j]=np.average(simul_data[i][j])
***storage_risk_prem[i]=avg_risk_prem***
storage=list(range(len(simul_data)))
w_mean_i=list(range(len(simul_data)))
w_std_i=list(range(len(simul_data)))
for i in range(len(w_mean_i)):
w_mean_i[i]=w.dot(storage_risk_prem[i])
w_std_i[i]=np.sqrt(w.dot(cal_vcov_sim(simul_data)[i].dot(w)))
storage[i]=(w_mean_i[i],w_std_i[i])
return storage
但是,当我检查结果时,它只存储了相同的平均值列表(std位很好)。你知道吗
所以检查了我的代码,发现斜体的行导致了这个问题,但是我不知道如何避免这个问题而不使用np.vstack
,但是我不想滥用这么多的导入来改进我的编程。你知道吗
这是因为您的方法多次向列表添加指针。 每次都必须复制元素,例如使用list(my\ u list)
相关问题 更多 >
编程相关推荐