NumPy Boolean Array im Index [Duplikat]
Sep 20 2020
Angenommen, wir haben zwei Arrays
a = np.array([1,2,3,4]).reshape(2,2)
b = np.array([True, False, False, True]).reshape(2,2)
gibt
a = [[1, 2],
[3, 4]]
b = [[True, False],
[False, True]]
Wir können a [b] tun, um nur die Werte von b zu erhalten, die wahr sind und uns geben [1, 4]
Ich habe versucht, a [nicht b] zu tun, um diejenigen zu erhalten, die falsch sind, aber einen Fehler erhalten haben. Ich weiß, dass ich es kann, a[b == False]aber ich möchte es auf pythonische Weise tun.
Irgendeine Lösung?
Antworten
1 a_guest Sep 20 2020 at 03:59
Sie können entweder np.logical_notoder den ~Operator verwenden :
>>> a[np.logical_not(b)]
>>> a[~b]