Разбить Numpy массив на два, сложным способом в Python3.x
Есть массив мел-коэффициентов разных голосов X_train_mfcc размером 2000 (shape (2000,20,44)), в котором каждые 200 по порядку - это группа разных голосов, а каждые первые 20 в этих 200 – «чистые» голоса (остальные зашумленные). Задача разбить массив на два входа X_train_A, X_train_B, в зависимости от Y_train (случайная последовательность нулей и единиц размером 200). X_train_A – выборка последовательности «чистых» голосов из X_train_mfcc (размер 200); X_train_B - если на Y_train приходит «1», то выбирается случайный фрагмент из того же голоса что и в X_train_A, причем со всего набора чистых и зашумленных. Если на Y_train приходит «0», то выбрать случайный фрагмент из любого голоса массива (чистых и зашумленных), но не того же что в X_train_A.