Единица нормальное распределение центрируется на нуле и двусторонне с небольшими хвостами, идущими в плюс и минус бесконечность. 99,7% от ваших значений будет лежать в пределах трех стандартных отклонений, остальные 0,3% - нет.
![enter image description here](https://i.stack.imgur.com/h8Ycs.png)
В этом примере со средним значением 400и стандартное отклонение 150, 99,7% ваших значений будут находиться в пределах трех стандартных отклонений среднего значения - интервала [-50 850], который включает отрицательные числа.Так что ожидайте отрицательных чисел сразу.
Что касается остальных 0,3% значений, помните, что это 3/1000 ваших чисел - совсем не редкость.
Если вам нужен «звонок»-curvey "дистрибутив с ограниченной поддержкой, попробуйте бета-дистрибутив .
Наконец, если это не академическое упражнение, нет необходимости бросать свой собственный эквивалент numpy.random.normal()
.