У меня есть следующий массив:
[(True,False,True), (False,False,False), (False,False,True)]
Если какой-либо элемент содержит True, то все они должны быть истинными.Таким образом, вышеприведенное должно выглядеть так:
[(True,True,True), (False,False,False), (True,True,True)]
Мой код ниже пытается это сделать, но он просто преобразует все элементы в True:
a = np.array([(True,False,True), (False,False,False), (False,True,False)], dtype='bool')
aint = a.astype('int')
print(aint)
aint[aint.sum() > 0] = (1,1,1)
print(aint.astype('bool'))
Вывод:
[[1 0 1]
[0 0 0]
[0 1 0]]
[[ True True True]
[ True True True]
[ True True True]]