基于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 pandas模块输出每行中间省略号问题
Jul 03 Python
python框架中flask知识点总结
Aug 17 Python
Python中shapefile转换geojson的示例
Jan 03 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
Feb 25 Python
pymongo中聚合查询的使用方法
Mar 22 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
react+django清除浏览器缓存的几种方法小结
Jul 17 Python
Pandas分组与排序的实现
Jul 23 Python
用python制作个音乐下载器
Jan 30 Python
pandas数据分组groupby()和统计函数agg()的使用
Mar 04 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
php根据年月获取季度的方法
2014/03/31 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
jQuery图片轮播插件——前端开发必看
2016/05/31 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python生成随机数的方法
2014/01/14 Python
python读写json文件的简单实现
2017/04/11 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
《云房子》教学反思
2014/04/20 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
委托公证书样本
2015/01/23 职场文书
初中班长竞选稿
2015/11/20 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书