我需要分析一个二次2D numpy数组LL,找出对称(LL[i,j] == LL[j,i])且非零值的数值。
有没有更快、更像数组的方法来完成这个任务,而不需要使用循环?有没有一种简单的方法可以存储这些值的索引,以便于后续使用,而不需要在每个循环中创建数组并添加索引元组?
下面是我的经典循环方法来存储这些值的索引:
IdxArray = np.array() # Array to store the indices
for i in range(len(LL)):
for j in range(i+1,len(LL)):
if LL[i,j] != 0.0:
if LL[i,j] == LL[j,i]:
IdxArray = np.vstack((IdxArray,[i,j]))
稍后使用索引:
for idx in IdxArray:
P = LL[idx]*(TT[idx[0]]-TT[idx[1]])
...