numpy случайная матрица с границами по каждой оси - PullRequest
0 голосов
/ 28 мая 2020

с

a = numpy .random.randomint (lo, hi, (m, n))

Я могу создать матрицу numpy размера m, заполненную случайные значения между 'hi' и 'lo'.

Есть ли способ создать матрицу numpy с, скажем, случайными значениями, чтобы

вдоль столбца 1 у меня были числа между 'hi1' , 'lo1' и

вдоль столбца 2 У меня есть числа между 'hi2' и 'lo2' et c.

, т.е. каждый столбец будет иметь свой собственный hi, low.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 28 мая 2020

Вы можете предоставить массив для lo и hi (в зависимости от версии numpy - проверьте с помощью numpy.version.version). См. Документацию: https://numpy.org/devdocs/reference/random/generated/numpy.random.randint.html.

Итак, для новой версии numpy вы можете написать что-то вроде этого:

low = [0,1,2,3]
high = [4,5,6,7]
a = numpy.random.randint(low, high, size=(3,4))

А для более старой версии из numpy это может сработать:

low = [0,1,2,3]
high = [4,5,6,7]
a = numpy.concatenate([numpy.random.randint(low[idx], high[idx], size=(3,1)) for idx in range(4)], axis=1)
...