У меня есть вектор dogSpecies
, показывающий все четыре исследуемых уникальных вида собак.
#a set of possible dog species
dogSpecies = [1,2,3,4]
У меня также есть вектор data
, содержащий целые числа, соответствующие записям видов собак всех протестированных собак.
# species of examined dogs
data = np.array(1,1,2,-1,0,2,3,5,4)
Некоторые записи в data
содержат значения, отличные от 1,2,3 или 4. (Например, -1, 0 или 5). Если элемент в наборе data
не равен ни одному из элементов dogSpecies
, такое вхождение должно быть помечено в булевой матрице оценки ошибок как False
.
#initially all the elements of the boolean error evaluation vector are True.
errorEval = np.ones((np.size(data,axis = 0)),dtype=bool)
В идеале мой errorEval
вектор должен выглядеть так:
errorEval = np.array[True, True, True, False, False, True, True, False, True]
Мне нужен фрагмент кода, который проверяет, не равны ли элементы data
элементам вектора dogSpecies
. Мой код по какой-то причине помечает каждый элемент вектора errorEval
как «Ложь».
for i in range(np.size(data, axis = 0)):
# validation of the species
if (data[i] != dogSpecies):
errorEval[i] = False
Я понимаю, что не могу сравнить один элемент с вектором из четырех элементов, как указано выше, но как мне тогда это сделать?