pythonrandomsample_基于Python中random.sample()的替
代⽅案
random在python中的意思python中random.sample()⽅法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值⽐较⼤的时候,该⽅法执⾏速度很慢,如:
numpy random模块中的choice⽅法可以有效提升随机提取的效率:
需要注意的是,需要置replace为False,即抽取的元素不能重复,默认为True。
补充知识:Python: random模块的随即取样函数:choice(),choices(),sample()
choice(seq): 从seq序列中(可以是列表,元组,字符串)随机取⼀个元素返回choices(population, weights=None, *,
cum_weights=None, k=1):
从population中进⾏K次随机选取,每次选取⼀个元素(注意会出现同⼀个元素多次被选中的情况),weights是相对权重值,population 中有⼏个元素就要有相对应的weights值,cum_weights是累加权重值,例如,相对权重〔10, 5, 30,5〕相当于累积权重〔10, 15, 45,50〕。
在内部,在进⾏选择之前,相对权重被转换为累积权重,因此提供累积权重节省了⼯作。返回⼀个列表。
sample(population, k)从population中取样,⼀次取k个,返回⼀个k长的列表。
可以像这样使⽤sample(range(10000000), k=60)
以上这篇基于Python中random.sample()的替代⽅案就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持脚本之家。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。