基于Python中random.sample()的替代方案


Posted in Python onMay 23, 2020

python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值比较大的时候,该方法执行速度很慢,如:

numpy random模块中的choice方法可以有效提升随机提取的效率:

基于Python中random.sample()的替代方案

需要注意的是,需要置replace为False,即抽取的元素不能重复,默认为True。

基于Python中random.sample()的替代方案

补充知识: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()的替代方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现Const详解
Jan 27 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
协程Python 中实现多任务耗资源最小的方式
Oct 19 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 Python
Python Numpy库的超详细教程
Apr 06 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 #Python
keras中模型训练class_weight,sample_weight区别说明
May 23 #Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 #Python
Keras实现将两个模型连接到一起
May 23 #Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 #Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 #Python
keras小技巧——获取某一个网络层的输出方式
May 23 #Python
You might like
香妃
2021/03/03 冲泡冲煮
个人站长制做网页常用的php代码
2007/03/03 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
网站被黑的假象--ARP欺骗之页面中加入一段js
2007/05/16 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
Django stark组件使用及原理详解
2019/08/22 Python
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
业绩考核岗位职责
2014/02/01 职场文书
开工仪式策划方案
2014/05/23 职场文书
超市主管竞聘书
2015/09/15 职场文书
解析目标检测之IoU
2021/06/26 Python
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
对讲机知识
2022/04/07 无线电