NumPy Boolean Array in Index [duplikat]
Sep 20 2020
Powiedzmy, że mamy dwie tablice
a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([True, False, False, True]).reshape(2,2)
daje
a = [[1, 2],
[3, 4]]
b = [[True, False],
[False, True]]
Możemy wykonać a [b], aby uzyskać tylko te wartości b, które są prawdziwe, dając nam [1, 4]
Próbowałem zrobić [nie b], aby uzyskać te, które są fałszywe, ale otrzymałem błąd. Wiem, że mogę to zrobić, a[b == False]ale chcę to zrobić w Pythonie.
Jakieś rozwiązanie?
Odpowiedzi
1 a_guest Sep 20 2020 at 03:59
Można skorzystać z jednego np.logical_notlub z ~operatorem :
>>> a[np.logical_not(b)]
>>> a[~b]