Tôi đang sử dụng Python. Làm thế nào để thực hiện một subselection của một vector, dựa trên các giá trị của hai vector khác với cùng một chiều dài?Tạo tập con của mảng, dựa trên giá trị của hai mảng khác trong Python
Ví dụ này ba vectơ
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)
tôi muốn làm một cái gì đó như thế này:
elem = (c2==2 and c3==3)
c1sel = c1[elem]
Nhưng kết quả tuyên bố đầu tiên trong một lỗi:
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()
Trong Matlab, Tôi sẽ sử dụng:
elem = find(c2==2 & c3==3);
c1sel = c1(elem);
Làm cách nào để thực hiện việc này bằng Python?
Cảm ơn bạn, điều này hoạt động tốt! – vincentv
Theo như tôi thấy, điều này không làm việc cho hơn hai điều kiện. Đối với ba hoặc nhiều hơn, tôi sử dụng các giải pháp của mskimm. – vincentv