#python #matrix
#python #матрица
Вопрос:
Предположим, у меня был массив NumPy
a = [[1,2,3],
[4,5,6],
[7,8,9]]
и как найти i
и j
значение 4
которого равно i =row no = 2
и j = column no = 0
i, j = 2, 0
?
Ответ №1:
4 имеет строку 1 и столбец 0 в вашем массиве
a = [[1,2,3],
[4,5,6],
[7,8,9]]
for r, d in enumerate(a):
if 4 in d:
pos = (r, d.index(4))
print(pos)
Ответ №2:
вы можете использовать numpy.argwhere
>>> my_array = np.random.randint(0,10,20).reshape(5,4)
>>> print(my_array)
[[7 9 0 0]
[8 3 2 1]
[0 4 5 2]
[7 3 1 6]
[9 5 0 8]]
Из приведенного выше массива, если вы хотите найти все индексы, где значение 2
, используйте
>>> print(np.argwhere(my_array == 2))
[[1 2]
[2 3]]
если вам нужен только первый индекс, используйте
>>> print(tuple(np.argwhere(my_array == 2)[0]))
(1, 2)
примечание: пожалуйста, имейте в виду, что, если искомый элемент отсутствует в вашем массиве, вы получите IndexError
второй случай