Метод uniform
Метод uniform класса Generator генерирует случайные числа из непрерывного равномерного распределения на интервале от low до high. Первым параметром передаётся нижняя граница интервала, вторым - верхняя граница. Третьим параметром можно задать размер выходного массива.
Синтаксис
generator.uniform(low=0.0, high=1.0, size=None)
Пример
Давайте сгенерируем одно случайное число из равномерного распределения на интервале от 0 до 1:
import numpy as np
rng = np.random.default_rng(0)
res = rng.uniform()
print(res)
Результат выполнения кода:
0.6369616873214543
Пример
Давайте сгенерируем число из равномерного распределения на интервале от 5 до 10:
import numpy as np
rng = np.random.default_rng(0)
res = rng.uniform(5, 10)
print(res)
Результат выполнения кода:
6.184808436607727
Пример
Давайте сгенерируем массив из 5 случайных чисел из равномерного распределения на интервале от -1 до 1:
import numpy as np
rng = np.random.default_rng(0)
arr = rng.uniform(-1, 1, size=5)
print(arr)
Результат выполнения кода:
[ 0.27392337 -0.46042657 -0.91805295 -0.96694473 0.62654048]
Пример
Давайте сгенерируем двумерный массив размера 3×4 из равномерного распределения на интервале от 0 до 100:
import numpy as np
rng = np.random.default_rng(0)
arr = rng.uniform(0, 100, size=(3, 4))
print(arr)
Результат выполнения кода:
[[63.69616873 28.57965477 77.59671204 30.79346645]
[32.61167476 77.30769335 30.04643161 32.2304277 ]
[14.26492739 35.08865033 74.99528573 74.65388534]]
Пример
Давайте сгенерируем массив из равномерного распределения и вычислим его среднее значение и дисперсию:
import numpy as np
rng = np.random.default_rng(0)
arr = rng.uniform(0, 10, size=1000)
mean = arr.mean()
var = arr.var()
print(f"mean: {mean:.4f}, var: {var:.4f}")
Результат выполнения кода:
"mean: 5.0213, var: 8.2348"
Пример
Давайте используем метод uniform для заполнения существующего массива через параметр size с формой этого массива:
import numpy as np
rng = np.random.default_rng(0)
arr = np.empty((2, 3))
res = rng.uniform(0, 5, size=arr.shape)
print(res)
Результат выполнения кода:
[[3.18480844 1.08963272 3.9532641 ]
[0.86424928 4.15756115 2.39338053]]
Смотрите также
-
метод
random,
который генерирует числа из равномерного распределения на интервале [0, 1) -
метод
normal,
который генерирует числа из нормального распределения -
метод
integers,
который генерирует целые числа из дискретного равномерного распределения -
метод
exponential,
который генерирует числа из экспоненциального распределения