Получите индексы numy массивов в порядке появления - PullRequest
1 голос
/ 11 ноября 2019

Я использую train_test_split. Мой обучающий набор, X [], представляет собой массив путей к файлам. Тогда у меня есть еще один массив у [], который состоит из одной горячей закодированных меток. Они связаны индексом строки массива. Поэтому, если я передам X, это будет выглядеть так:

Путь индекса

4, данные \ djip2 \ DJIP2.5844MHz.10MSPS.fc32.2016-07-01_000000000001.npy

20, data \ taigentank \ USRP-2_420GHz-1MSps-1MHztaigentank1_000000000000.npy

2, data \ 866_300_1 \ USRP-866_300MHz-1MSps-1MHz_lte_1_000000002.n1 * 10000000002.n0 * 1000000000.n0 * 10090000:

Метка индекса

4, 00000001

20, 00000010

2, 01000000

Эти массивы затем передаются в пакетгенератор после рандомизации. В генераторе пакетов мне нужно убедиться, что каждое значение массива X может быть сопоставлено с меткой массива ay [].

Итак, я хочу получить индексы массива X, которые теперь находятся в случайном порядке. например:

2, путь

4, путь

20, путь

И передать их другой функции в указанном порядке. Мне нужны индексы, потому что мне нужно пройти путь и связанный с ним ярлык. Есть ли простой способ сделать это с NumPy?

1 Ответ

1 голос
/ 11 ноября 2019

Одним из решений может быть:

n = range(numberOfInstances)

, которое создает список целых чисел, например [0,1,2,3,4 ... numberOfInstances-1]. Затем перетасуйте список

random.shuffle(n)

Сохраните этот список в виде массива

n_np = np.array(n)

и, наконец, измените порядок ваших данных и оснований, соответственно, как

y = y[n_np]
x = x[n_np]

, который должен изменить порядокоба массива в отношении одинаково.

Я надеюсь, это помогает :)! Я немного сбит с толку, почему у вас есть неупорядоченная последовательность идентификаторов, которые как-то снова перемешиваются ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...