#python-3.x #scipy
#python-3.x #scipy
Вопрос:
Я использую scipy.stats.randint для получения случайных чисел.
Вот мой исходный код и результат.
Ввод:
из scipy.stats импортируйте randint randint.rvs(0.00001, 10, size= 100)
Вывод:
массив([6, 4, 6, 7, 9, 7, 3, 0, 2, 5, 1, 1, 0, 3, 6, 7, 3, 6, 4, 8, 6, 5, 0, 0, 5, 1, 3, 2, 3, 1, 0, 6, 5, 2, 0, 0, 9, 1, 5, 2, 3, 6, 1, 4, 3, 1, 4, 4, 9, 5, 6, 3, 4, 3, 7, 7, 2, 4, 0, 2, 0, 6, 8, 1, 5, 6, 4, 6, 5, 0, 8, 8, 5, 9, 3, 2, 8, 7, 1, 4, 6, 0, 7, 3, 9, 1, 2, 7, 7, 6, 4, 3, 3, 3, 4, 7, 7, 4, 1, 1])
Мой вопрос в том, что я установил минимальное значение на 0.000001, но как «0» вышли из вывода.
Спасибо за вашу помощь.
Ответ №1:
Вызывает mtrand.randint
randint Scipy , который является частью пакета Numpy. Как вы можете видеть из его исходного кода, нижняя граница усекается с помощью (int)(low) . Итак, чтобы получить случайные числа из замкнутого интервала [1, 10], выполните следующие действия:
randint.rvs(1, 11, size=100)
Обратите внимание, вам нужно увеличить верхнюю границу на 1, как видно из формы распределения вероятностей (pmf) для randint .