Sto usando Python. Come fare una sottoselezione di un vettore, in base ai valori di altri due vettori con la stessa lunghezza?Crea sottoinsieme di array, in base ai valori di altri due array in Python
Per esempio, questo tre vettori
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)
voglio fare qualcosa di simile:
elem = (c2==2 and c3==3)
c1sel = c1[elem]
Ma i primi risultati economico in un errore:
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, Vorrei usare:
elem = find(c2==2 & c3==3);
c1sel = c1(elem);
Come fare questo in Python?
Grazie, questo funziona bene! – vincentv
Per quanto posso vedere, questo non funziona per più di due condizioni. Per tre o più, uso la soluzione di mskimm. – vincentv