这里,在我的代码中,相关矩阵是一个数据帧,diag是一个列表。
当我运行以下代码(底部的CholDC部分)时,它返回numpy.float64
object is not iterable。
我需要做什么才能使这个代码正常工作?你知道吗
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)
要在数据帧中循环,需要使用iterrows()。请参见下面的示例:
所以在代码中使用iterrows()而不是
for column in correl
。你知道吗相关问题 更多 >
编程相关推荐