Я бы попробовал одно из следующего:
1.> numpy.random.randint
import numpy as np
X1 = np.random.randint(low=0, high=10, size=(15,))
print (X1)
>>> array([3, 0, 9, 0, 5, 7, 6, 9, 6, 7, 9, 6, 6, 9, 8])
2.> numpy.random.uniform
import numpy as np
X2 = np.random.uniform(low=0, high=10, size=(15,)).astype(int)
print (X2)
>>> array([8, 3, 6, 9, 1, 0, 3, 6, 3, 3, 1, 2, 4, 0, 4])
3.> random.randrange
from random import randrange
X3 = [randrange(10) for i in range(15)]
print (X3)
>>> [2, 1, 4, 1, 2, 8, 8, 6, 4, 1, 0, 5, 8, 3, 5]
4.> random.randint
from random import randint
X4 = [randint(0, 9) for i in range(0, 15)]
print (X4)
>>> [6, 2, 6, 9, 5, 3, 2, 3, 3, 4, 4, 7, 4, 9, 6]
Скорость:
► np.random.randint - это быстрый , за которым следуют np.random.uniform и random.randrange . random.randint является самым медленным .
► Оба np.random.randint и np.random.uniform намного быстрее (~ в 8-12 раз быстрее) , чем random.randrange и random.randint .
%timeit np.random.randint(low=0, high=10, size=(15,))
>> 1.64 µs ± 7.83 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%timeit np.random.uniform(low=0, high=10, size=(15,)).astype(int)
>> 2.15 µs ± 38.6 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
%timeit [randrange(10) for i in range(15)]
>> 12.9 µs ± 60.4 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
%timeit [randint(0, 9) for i in range(0, 15)]
>> 20 µs ± 386 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
Примечания:
1.> np.random.randint генерирует случайные целые числа в полуоткрытом интервале [low, high).
2.> np.random.uniform генерирует равномерно распределенные числа по полуоткрытому интервалу [низкий, высокий).
3.> random.randrange (стоп) генерирует случайное число из диапазона (начало, остановка, шаг).
4.> random.randint (a, b) возвращает случайное целое число N, такое что a <= N <= b. </p>
5.> astype (int) приводит массив данных к типу int.
6.> Я выбрал размер = (15,). Это даст вам простой массив длины = 15.