Я пишу некоторые процедуры моделирования в NumPy, которым нужно произвольно выбирать ячейки из массива NumPy и выполнять некоторую обработку на них. Все ячейки должны быть выбраны без замены (как в случае, когда ячейка выбрана, она не может быть выбрана снова, но все ячейки должны быть выбраны до конца).Выбор ячеек случайным образом из массива NumPy - без замены
Я перехожу из IDL, где я могу найти хороший способ сделать это, но я полагаю, что NumPy имеет хороший способ сделать это тоже. Что ты предлагаешь?
Обновление: Я должен был сказать, что я пытаюсь сделать это на 2D-массивах и, следовательно, вернуть набор 2D-индексов.
Спасибо за ваш ответ. Похоже, я должен был упомянуть в своем вопросе, что это 2D-массив ... и я хотел бы получить индексы 2D-массива для каждой ячейки, случайным образом без замены. Есть ли способ сделать это легко? I – robintw
@robintw - 'numpy.random.shuffle' должен отлично работать на n-мерных массивах. Если вам нужны указатели, вы можете попробовать создать массивы индексов строк и столбцов (посмотрите в 'meshgrid') и затем перетасовать их. –
@robintw: 2D массивы тоже не проблема, вы можете просто «изменить форму»(), чтобы получить 2D вместо 1D :) – Wolph