Учитывая массив с 2300 строками и 44 столбцами, я хотел бы, чтобы мой скрипт проверял наличие одинаковых строк и возвращал массивы этих одинаковых строк с соответствующими индексами в исходной матрице.
Пример:
1 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
1 2 3 4 5
Результат:
equal_arrays1 = [1,2,3]
equal_arrays2 = [0,4]
Мой исходный набор данных состоит из нулевых строк, начиная с 1323 до 1699. Тогда результат должен быть:
equal_array1=[1323,...,1699]
ЧтоЯ до сих пор использовал следующий код:
import numpy as np
input_data = np.load('1IN.npy')
print(np.shape(input_data))
for i in range(len(input_data)):
for j in range(i+1,len(input_data)):
if np.array_equal(input_data[i],input_data[j]):
if np.array_equal(input_data[:,i],input_data[:,j]):
print (i, j),
else: break
, но это привело к ошибке:
if np.array_equal(input_data[:,i],input_data[:,j]) :
IndexError: index 1302 is out of bounds for axis 1 with size 44
Я думаю, что это не лучший способ пойти на то, что яхочу достичь, поэтому, если у кого-то есть лучшая альтернатива или может объяснить, что мне нужно исправить, я был бы рад, как я новичок в Python.