给定比例的随机非均匀分布

西鲁鲁鲁

我有3个标签:“ A”,“ B”,“ C”。

我想生成一个包含100个元素的随机列表,其中60%是“ A”,30%是“ B”,10%是“ C”。

我怎样才能做到这一点?(我是python的新手,希望这个问题不要太傻。)


编辑:我的问题与此问题略有不同:生成具有给定(数字)分布的随机数

就像在评论中一样,我希望其中的60%是“ A”,不是每个元素都有60%的概率是“ A”。所以numpy.random.choice()对我来说不是解决方案。

阿瓦卡留

如果您想精确地将60%设为A,30%B和10%C,并且知道总共必须有100个元素,则可以执行以下操作:

import random

num = 100
prob_a = 0.6
prob_b = 0.3
prob_c = 0.1

As = int(num*prob_a) * 'A'
Bs = int(num*prob_b) * 'B'
Cs = int(num*prob_c) * 'C'

# create a list with 60 As, 30 Bs, and 10 Cs
chars = list(As + Bs + Cs)
random.shuffle(chars)

print("".join(chars))

这将输出类似 BAAAAABBCBAABABAAAACAABBAABACAACBAACBBBAAACBAAAABAAABABAAAAABBBABAABAABAACCAABABAAAAAACABBBBCABAAAAA

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

随机均匀分布

来自分类Dev

随机均匀分布

来自分类Dev

生成具有非均匀分布的随机整数

来自分类Dev

证明随机产生的数是均匀分布的

来自分类Dev

verilog中均匀分布的随机实数

来自分类Dev

Numpy如何从非均匀分布中采样随机数?

来自分类Dev

给定变量的均匀分布,请使用随机变量函数绘制概率密度函数MATLAB

来自分类Dev

均匀分布按钮

来自分类Dev

C ++线程安全的均匀分布随机数生成

来自分类Dev

从均匀分布生成伪随机数

来自分类Dev

用Matlab创建均匀分布的随机变量

来自分类Dev

在圆角矩形内生成均匀分布的随机位置

来自分类Dev

快速均匀分布随机数生成器

来自分类Dev

生成强连通的,均匀分布的随机有向图

来自分类Dev

在C中生成随机,均匀分布的实数

来自分类Dev

以最小间距随机均匀分布点

来自分类Dev

具有R中均匀分布元素的随机向量a

来自分类Dev

C#中的随机数不是均匀分布的

来自分类Dev

衰变的块状均匀分布

来自分类Dev

Python适合均匀分布

来自分类Dev

箱线图均匀分布

来自分类Dev

对于均匀分布的4位值的非均匀序列,好的散列函数吗?

来自分类Dev

如何提取Python列表中一定比例的均匀分布元素?

来自分类Dev

使用C ++中使用均匀实数分布生成的随机数不是真正均匀分布的

来自分类Dev

在具有给定属性的matlab中生成均匀分布的延迟

来自分类Dev

从均匀分布的混合物中抽取随机数

来自分类Dev

如何有效地在bash中生成大的,均匀分布的随机整数?

来自分类Dev

在空心方形薄片内生成随机均匀分布点的Python方法

来自分类Dev

是否将随机整数强制转换为短整数给出均匀分布?

Related 相关文章

热门标签

归档