numpy.random.sample

numpy.random.sample(size=None)

Массив случайных значений заданной формы.

Данная функция создает массив указанной формы и заполняет его случайными числами с плавающей точкой из непрерывного равномерного распределения в интервале [0, 1).

Параметры:
size - целое положительное число или кортеж целых положительных чисел, необязательный параметр.
Если данный параметр не указан, то будет возвращено одно случайное число. Если указано одно число d, то будет возвращен одномерный массив с количеством элементов равным d. Если указан кортеж из нескольких чисел, то количество этих чисел будет определять количество осей массива, а их значения - количество элементов вдоль каждой из них.
Возвращает:
результат - массив NumPy или число
Массив с формой указанной в параметре size заполненный равномерно распределенными случайными числами с плавающей точкой из интервала [0, 1). Если форма массива не указана, то возвращается одно случайное число.

Замечание

Чтобы получать случайные значения из произвольного интервала [a, b), то достаточно воспользоваться выражением:

(b - a) * sample(...) + a

Единственное отличие от функции random.rand(), заключается в том, что размеры результирующего массива передаются в виде кортежа, а не простого перечисления размеров через запятую. Поэтому функция random.rand() считается несколько удобнее в "ручном" формировании случайных массивов.

Смотрите так же:
random.rand()

Примеры

>>> import numpy as np
>>> 
>>> np.random.sample()
0.2000525381555982
>>> 
>>> #  Возвращаются числа типа float:
... type(np.random.sample())
<class 'float'>
>>> 
>>> 
>>> np.random.sample(5)
array([0.37974169, 0.92399783, 0.28419512, 0.51176251, 0.68400111])
>>> 
>>> np.random.sample((5, 5))
array([[0.05481257, 0.56440836, 0.66892821, 0.27568018, 0.66209195],
       [0.93357365, 0.52950737, 0.88349864, 0.25034497, 0.10550762],
       [0.13032572, 0.41682349, 0.26049962, 0.5089157 , 0.36212079],
       [0.60110637, 0.64936469, 0.22421199, 0.60452475, 0.39732005],
       [0.91654095, 0.85187179, 0.12468123, 0.41730225, 0.31038545]])

Получить значения из интервала [-10, 7) можно следующим образом:

>>> #  (b - a) * np.sample() + a, где b > a:
... 
>>> (7 - (-10)) * np.random.sample((5, 5)) - 10
array([[-4.52645803, -2.11486378,  2.48239844,  4.71156917, -6.16650869],
       [-0.71739811, -3.81038347, -4.71483134,  5.07168885,  1.25680775],
       [-4.03619685, -1.23544649,  0.12896096, -8.32259733,  1.87842868],
       [ 4.51019244, -0.91045363, -6.54340521,  1.83726298,  0.68968909],
       [-6.70360584, -4.14247652, -5.5753999 , -1.10211906, -6.38136077]])