ich Python verwende. Wie man eine Unterauswahl eines Vektors macht, basierend auf den Werten von zwei anderen Vektoren mit der gleichen Länge?Stellen Teilmenge von Array, basierend auf den Werten von zwei anderen Arrays in Python
Zum Beispiel dieser drei Vektoren
c1 = np.array([1,9,3,5])
c2 = np.array([2,2,3,2])
c3 = np.array([2,3,2,3])
c2==2
array([ True, True, False, True], dtype=bool)
c3==3
array([False, True, False, True], dtype=bool)
ich so etwas wie dies tun will:
elem = (c2==2 and c3==3)
c1sel = c1[elem]
Aber die erste Anweisung führt zu einem Fehler:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
In Matlab, Ich würde verwenden:
elem = find(c2==2 & c3==3);
c1sel = c1(elem);
Wie dies in Python zu tun?
Danke, das funktioniert gut! – vincentv
Soweit ich sehen kann, funktioniert dies nicht für mehr als zwei Bedingungen. Für drei oder mehr benutze ich die Lösung von mskimm. – vincentv