Учитывая, что у вас уже есть sigma
и mu
(указывает, какая строка будет использовать какой дистрибутив):
sigma = np.array((1, 2, 3))
mu = np.array((-1, -2, -3))
Просто создайте получившийся дистрибутив (3 строки / различные распределения, 10 столбцов здесь):
samples = np.random.standard_normal((3, 10)) * sigma[:, None] + mu[:, None]
Имейте в виду, что распределение Гаусса не ограничено, поэтому вы должны обрезать:
samples = np.clip(samples, 0, 1)
Конечно, в зависимости от значений sigma
и mu
вы не получите гауссово распределение ваших значений.