Tableau booléen NumPy dans l'index [duplicate]
Sep 20 2020
Disons que nous avons deux tableaux
a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([True, False, False, True]).reshape(2,2)
donne
a = [[1, 2],
[3, 4]]
b = [[True, False],
[False, True]]
On peut faire a [b] pour obtenir seulement les valeurs de b qui sont vraies nous donnant [1, 4]
J'ai essayé de faire un [pas b] pour obtenir ceux qui sont faux mais j'ai eu une erreur. Je sais que je peux faire a[b == False]mais je veux le faire d'une manière pythonique.
Toute solution?
Réponses
1 a_guest Sep 20 2020 at 03:59
Vous pouvez utiliser l'un np.logical_notou l' autre ou l' ~opérateur :
>>> a[np.logical_not(b)]
>>> a[~b]