【发布时间】:2018-05-17 07:40:35
【问题描述】:
在这里,在我的代码中,相关矩阵是一个数据框,而 diag 是一个列表。
当我运行以下代码(底部的 CholDC 部分)时,它返回 numpy.float64 对象不可迭代。
我需要做什么才能使此代码正常工作?
def CholDC (correl, diag):
for column in correl:
j = 0
for j in correl[str(column)][j]:
Sum = correl[str(column)][j]
k = int(column)-1
if k >= 1:
Sum = Sum - correl[str(column)][k]*correl[str(j)][k]
else:
Sum = Sum
if int(column) == j:
if Sum <= 0:
print ("Should be PSD")
else:
diag[int(column)] = np.sqrt(Sum)
else:
correl[str(j)][int(column)] = Sum / diag[int(column)]
diag = []
df_correl = pd.DataFrame(df_correlation)
CholDC(df_correl, diag)
【问题讨论】:
-
一些示例数据会有所帮助
-
请用数据描述或显示您正在尝试的内容(当前和期望的结果),因为您可能会使用 pandas 方法来代替这些
for和if调用。
标签: python loops for-loop dataframe iteration