У меня есть numpy array
:Логическое массив не все истинные значения в одной строке
np.random.seed(100)
mask = np.random.choice([True, False], size=(10,3))
print (mask)
[[ True True False]
[False False False]
[ True True True] <- problem - all values True
[ True True False]
[ True True True] <- problem - all values True
[ True False True]
[ True False True]
[False True True]
[ True False False]
[False True True]]
Потребность в каждой строке не все значения не True
- так что здесь может быть только 0
, 1
или 2
True
потому 3 'columns'
.
Гадкий решение:
mask[:, -1] = False
print (mask)
[[ True True False]
[False False False]
[ True True False]
[ True True False]
[ True True False]
[ True False False]
[ True False False]
[False True False]
[ True False False]
[False True False]]
Что лучше и более общее решение?
'mask [mask.all (1), - 1] = 0'? Это создало бы другой, чем тот, который был отправлен с уродливым решением. – Divakar
@ Divakar ваша короткая версия кода избили мой ответ на несколько секунд – EdChum