Python – вероятность моделирования

У меня есть простая проблема. Мне нужен способ сделать функцию, которая генерирует 0s в p процентов случаях и 1s во всех остальных случаях. Я попытался сделать это с random.random () следующим образом:

p = 0.40 def generate(): x = random.random() if x < p: return 0 else: return 1 

Однако это не похоже на хороший способ. Или это?

One Solution collect form web for “Python – вероятность моделирования”

Ваш текущий метод отлично подходит, вы можете проверить это, выполнив несколько испытаний с большим количеством попыток. Например, мы ожидаем примерно 600000 Истинных результатов с 1000000 попытками:

 >>> sum(generate() for i in range(1000000)) 599042 >>> sum(generate() for i in range(1000000)) 599670 >>> sum(generate() for i in range(1000000)) 600011 >>> sum(generate() for i in range(1000000)) 599960 >>> sum(generate() for i in range(1000000)) 600544 

Послушайте.

Как отмечено в комментариях, вы можете немного сократить свой метод:

 p = 0.40 def generate(): return random.random() >= p 

Если вы хотите 1 и 0 вместо True и False вы можете использовать int(random.random() >= p) , но это почти бесполезно.

  • Создание сглаженных рандомов, которые следуют за распределением
  • Создать случайное нарушение списка
  • Как избежать ошибок значения при использовании numpy.random.multinomial?
  • Сделать случайный модуль потокобезопасным в Python
  • Случайное число с данным PDF в Python
  • возможно ли найти случайные поплавки в диапазоне в python?
  •  
    Interesting Posts for Van-Lav

    Ближайший эквивалент факторной переменной в Python Pandas

    Str.format () для Python 2.6 дает ошибку, когда 2.7 не

    Как мы можем читать 16 un signed integer (16 uint) jpeg-файлов в python

    Декодер класса класса Python с собственными аргументами?

    Структура данных «многие ко многим» в Python

    Python: разделите все, кроме цифр

    sqlite3.ProgrammingError: Неправильное количество привязок. В текущем заявлении используется 1, и имеется 74 поставленных

    Подвыборки + классификация с использованием scikit-learn

    Рекурсивная версия 'reload'

    может ли python работать на нескольких ядрах?

    Pythonic способ проверить: все элементы оцениваются в False -OR- все элементы оцениваются в True

    Как восстановить python на OS X Yosemite после того, как я что-то удалил?

    Python Присоединиться к списку целых чисел

    Python: запись в новую строку файла

    Построить запрос для фильтрации многих-ко-многим для всех экземпляров B, связанных с данным экземпляром A

    Python - лучший язык программирования в мире.