Cравнение элементов двумерной матрицы Python

следующий вопрос: как в python с NumPy пройтись по каждому элементу двумерной матрицы, сравнив его с каким-то значением? Мой код выглядит так:

print("Укажите размер массива, столбцов:")
n = int(input())
print("Укажите размер массива, строк:")
m = int(input())
universe = np.random.randint(2, size=(m, n))
print (universe)
for row in universe:
      for x in row:
          if universe[[row], [x]] == 1:
              j += 1
print (j)

В моем случае выводит ошибку:

if universe[[row], [x]] == 1:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Подскажите пожалуйста, как сделать правильно, спасибо.


Ответы (2 шт):

Автор решения: Кирилл Малышев

Сравнить можно так:

universe == 1

В результате получится массив того же размера, содержащий значения типа bool, обозначающие выполнение или невыполнение условия.

Подсчитать количество вхождений можно так:

number_of_ones = np.count_nonzero(universe == 1)
→ Ссылка
Автор решения: MarianD

Вместо

for row in universe:
      for x in row:
          if universe[[row], [x]] == 1:

примените

for row in range(universe.shape[0]):
    for x in range(universe.shape[1]):
        if universe[row, x] == 1:
→ Ссылка