python - 你如何从python中的概率列表中采样
问题描述
如何从 python 中加起来为 1 的概率列表中进行采样。
前任。List: [0.1, 0.8, 0.1] 第一个元素将被选择 10% 的时间,第二个 80%,第三个 10%
解决方案
使用 random.choices 函数允许的权重。例如:
import random
floats = [0.1, 0.8, 0.1]
weights = [0.1, 0.8, 0.1]
k = 1
choice = random.choices(population=floats, weights=weights, k=k)
print(choice)
它将它作为列表返回,因为您可以拥有k
相同数量的要选择的项目。
推荐阅读
- sql - SQL 获取数据集中单行列的最小值和最大值
- flutter - Flutter, 为什么 InteractiveViewer TransfromController Matrix4 x, t 运动元素被比例元素改变?
- javascript - 是否可以使用 json 解析将键从下划线更改为 camelCase 深度嵌套?
- python - python:对切片的赋值出错
- python - 在 2 个模块之间创建链接以获取 Odoo 9 中的值
- python - 如何在新窗口中显示小部件女巫是不使用布局的小部件
- audio - FFMPEG RTP 麦克风音频流不适用于 4G/LTE
- scala - 写入时引发结构化流异常
- python - Python 正则表达式来查找其中一个或另一个
- python - 代码不起作用。我正在尝试使用其 ID 号单击页面上的元素,但我不能