Мне нужно проанализировать квадратичный 2D-массив LL для значений, которые являются симметричными (LL [i, j] == LL [j, i]), а не ноль.numpy: найти симметричные значения в массивах 2d
Есть ли более быстрый и более «массивный» способ без циклов для этого? Есть ли простой способ хранения индексов значений для последующего использования без создания массива и добавления кортежа индексов в каждом цикле?
Вот мой классический подход зацикливание хранить индексы:
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]])
...
Очень красивый подход тоже. Моя диагональ уже равна нулю. Пока это мой любимый. – user2303141