基于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中的多线程实例教程
Aug 27 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
对pandas中to_dict的用法详解
Jun 05 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
Python寻找两个有序数组的中位数实例详解
Dec 05 Python
Python3安装Pillow与PIL的方法
Apr 03 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
Python中使用ipython的详细教程
Jun 22 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 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
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
Javascript 二维数组
2009/11/26 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
英文请假条
2014/04/11 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
领导干部作风建设自查报告
2014/10/23 职场文书
2014年工程师工作总结
2014/11/25 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
Python+Tkinter打造签名设计工具
2022/04/01 Python