Ошибка: выход за пределы при поиске идентичных строк в массиве numpyPython

Программы на Python
Ответить
Anonymous
 Ошибка: выход за пределы при поиске идентичных строк в массиве numpy

Сообщение Anonymous »

При наличии пустого массива из 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.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»