NumPy Boolean Array dalam Indeks [duplikat]

Sep 20 2020

Katakanlah kita memiliki dua array

a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([True, False, False, True]).reshape(2,2)

memberi

a = [[1, 2],
     [3, 4]] 
b = [[True, False],
     [False, True]]

Kita bisa melakukan a [b] untuk mendapatkan hanya nilai b yang benar memberi kita [1, 4]

Saya mencoba melakukan [bukan b] untuk mendapatkan yang palsu tetapi mendapat kesalahan. Saya tahu saya bisa melakukannya a[b == False]tetapi ingin melakukannya dengan cara Pythonic.

Ada solusi?

Jawaban

1 a_guest Sep 20 2020 at 03:59

Anda dapat menggunakan salah satu np.logical_notatau ~operator :

>>> a[np.logical_not(b)]
>>> a[~b]