Случайная индексация в питоне - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть массив (4,10000) x и массив (1,10000) y. Я пытаюсь перетасовать их случайным образом индексируя как

random_idxs = np.random.choice(m,(m,1), replace=False)

Я пытаюсь сделать что-то вроде ниже, но структура ускользает от меня.

x_shuffled = x[random_idxs]
y_shuffled = y[random_idxs]

1 Ответ

0 голосов
/ 05 сентября 2018

Numpy уже имеет функцию shuffle, чтобы делать то, что вы хотите.

Предполагая, что вы хотите перетасовать столбцы в том же порядке, что и предполагает ваш вопрос:

idx = np.arange(x.shape[-1])  # or x.shape[1]
np.random.shuffle(idx)

Теперь вы можете применить перетасованный индекс к вашим массивам:

x = x[..., idx]  #  or [:, idx] for 2D-only
y = y[..., idx]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...