python模拟给定理论概率的实际发生次数

标签 python numpy data-science simulation probability

目标是模拟给定理论概率的实际发生次数。

例如,一个 6 面偏向骰子,落地概率 (1,2,3,4,5,6) 为 (0.1,0.2,0.15,0.25,0.1,0.2)。 掷骰子 1000 次,输出模拟得到每张面的数量。

我知道 numpy.random.choices 提供了生成每个滚动的函数,但我需要每个面的着陆次数的摘要。 上述 Python 的最佳脚本是什么?

最佳答案

Numpy 可以用来轻松且非常高效地做到这一点:

faces = np.arange(0, 6)
faceProbs = [0.1, 0.2, 0.15, 0.25, 0.1, 0.2]        # Define the face probabilities
v = np.random.choice(faces, p=faceProbs, size=1000) # Roll the dice for 1000 times
counts = np.bincount(v, minlength=6)                # Count the existing occurrences
prob = counts / len(v)                              # Compute the probability

关于python模拟给定理论概率的实际发生次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69166637/

相关文章:

Python Numpy 泊松分布

Python 矩阵乘以矩阵向量

machine-learning - 如何更改 Xgboost 中的特征重要性

python - Pandas:反转具有相同值的行

python - 在python中使用bs4从网站的不同链接获取律师详细信息

python - 使用 statsmodel 计算 Pandas 时间序列中单个比例的 95% 置信区间

python - MinMaxScaler 的奇怪输出

python - 将每日时间序列透视为 Pandas 中的周行

python - 如何对具有稀疏数据的 2D numpy 数组进行线性插值?

python - 当我们使用 pandas 的 read_json() 函数解析 json 文件时,是否建议将其内容括在方括号内