Создание бесчисленного массива равномерно выбранных значений из списка - PullRequest
0 голосов
/ 25 февраля 2019

Скажем, у меня есть список значений, например: [9, 17, 2]

Каков наилучший способ создания n-мерного массива numpy (например: [110 x 90 x 11] скажем) заполнены значениями в списке случайным образом, но равномерно выбраны?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Использование

np.random.choice(arr, (9, 17, 2))

random.choice по умолчанию выберет случайную выборку из arr с одинаковой вероятностью и с заменой (и с заданной формой).

0 голосов
/ 25 февраля 2019

) Вы можете выбрать номера случайным образом с помощью random.randrange

import random
import numpy as np

l=[9, 17, 2]
arrayshape=[110,90,11]

#random.randrange(len(l)) generates random indexes
#l[random.randrange(len(l))] select random indexes from list
#for i in range(110*90*11) how many number we need
#np.array(...) make an array from list
#np.reshape(... ,arrayshape) reshaping array to our shape
array=np.reshape(np.array([l[random.randrange(len(l))] for i in range(110*90*11)]),arrayshape)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...