У меня есть 4 массива. Массив X : это двумерный массив, содержащий примеры (каждый имеет 3 функции):
X = array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]])
Массив Y содержит метки для примеров в Массив X :
Y = array([11, 44, 77, 22, 77, 22, 22])
Массивы L & R содержат подмножества меток
L = array([11, 44])
R = array([77, 22])
Я хочу нарезать оба X и Y в соответствии с метками в Lи R. Таким образом, вывод должен быть:
XL = array([[1, 2, 3], [4, 5, 6]])
XR = array([[7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]])
YL = array([11, 44])
YR = array([77, 22, 77, 22, 22])
Я знаю, что могу сделать что-то вроде следующего, чтобы извлечь строки, которые я хочу, основываясь на значении:
Y[Y==i]
X[Y[Y==i], :]
Тем не менее, i
здесь это значение, но в моем вопросе это другой массив (например, L
и R
). Я хочу эффективное решение в Python 3, чтобы сделать это.Есть намеки?