Я создаю функцию, которую я хотел бы создать случайный массив 20x20, состоящий из значений 0, 1 и 2. Я бы хотел повторить итерацию по массиву и держите подсчет количества каждого числа в массиве. Вот мой код:Как подсчитать, сколько раз значение имеет значение в массиве
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import random
def my_array():
rand_array = np.random.randint(0,3,(20,20))
zeros = 0
ones = 0
twos = 0
for element in rand_array:
if element == 0:
zeros += 1
elif element == 1:
ones += 1
else:
twos += 1
return rand_array,zeros,ones,twos
print(my_array())
Когда я устранить цикл, чтобы попытаться итерацию массива он отлично работает и печатает массив, однако, как это код дает следующее сообщение об ошибке:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Из любопытства, это нужно явно перебирать массив, например, домашнее задание, или вы в порядке с Python, заботясь о петлях под капотом? – Reti43