python 随机选择list或numpy.ndarray中n个元素

1. 从一个list中随机选取一个元素

  • random.choice(data)
import random
data = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
random.choice(data) # 随机选取一个元素

2. 从一个list中随机选取多个元素

import random
data = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
sample_num = 5
random.sample(data, sample_num) # 结果['a', 'd', 'b', 'f', 'c'],每次运行结果不同。

3. 从data和label中随机选取多个元素

在制作数据集时,可能会有只用50%的数据的要求,所以,我们从原数据集中随机抽取30%的数据,这还要求了,datalabel是对应的。接下来,讲讲我的做法。创建一个索引list,在索引list中选取N个索引,根据这些索引将data和label的数据提取出来。

import random
data = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
label = [0, 1, 2, 3, 4, 5, 6, 7]
sample_num = int(0.5 * len(data)) # 假设取50%的数据sample_list = [i for i in range(len(data))] # [0, 1, 2, 3, 4, 5, 6, 7]
sample_list = random.sample(sample_list, sample_num) #随机选取出了 [3, 4, 2, 0]
sample_data = [data[i] for i in sample_list] # ['d', 'e', 'c', 'a']
sample_label = [label[i] for i in label] # [3, 4, 2, 0]

4. 从numpy.ndarray中随机选取多个元素

承接3. 只是datalabelnumpy.ndarray对象如何用sample_list来取出呢?
了解numpy.ndarray切片的同学们肯定都知道啦,这里我简单写一下。

import numpy as np
data = np.array([[ 0,  1,  2,  3],[ 4,  5,  6,  7],[ 8,  9, 10, 11],[12, 13, 14, 15]]) # shape:(4,4)
label = np.array([1,2,3,4]) # shape:(4,)sample_num = int(0.5 * len(data)) # 假设取50%的数据
sample_list = [i for i in range(len(data))] # [0, 1, 2, 3]
sample_list = random.sample(sample_list, sample_num) # [1, 2]data = data[sample_list,:] # array([[ 4,  5,  6,  7], [ 8,  9, 10, 11]])
label = label[sample_list] # array([2, 3])

参考
python 随机选取列表中的元素 https://blog.csdn.net/zzc15806/article/details/84875070
感谢以上大大的博客!

python 随机选择list或numpy.ndarray中n个元素相关推荐

  1. python随机选择_在python中实现随机选择

    想从一个序列中随机抽取若干元素,或者想生成几个随机数. random 模块有大量的函数用来产生随机数和随机选择元素.比如,要想从一个序列中随机的抽取一个元素,可以使用random.choice() : ...

  2. python numpy.ndarray中的数据转为int型

    首先了解内容与类型 >>>print(a)(array([[0.01124722],[0.21752586],[0.05586815],[0.03558792]]), array([ ...

  3. numpy.ndarray中对于字符串的处理

    问题来源: 在做数据开发的时候,使用pandas读取了excel中数据,存储格式统一为str类型,之后为了方便操作,将DataFrame格式的数据转换为了numpy.ndarray格式的数据. 之后对 ...

  4. python内置函数可以返回序列中的最大元素_Python内置函数__用来返回序列中的最小元素...

    [判断题]不可以在同一台计算机上安装多个Python版本. [判断题]Python是一种跨平台.开源.免费的高级动态编程语言. [填空题]假设列表对象aList的值为[3, 4, 5, 6, 7, 9 ...

  5. Python 集合06 discard()方法—删除集合中的指定元素

    discard()方法-删除集合中的指定元素 文章目录 discard()方法-删除集合中的指定元素 1.语法要点 2.实操练习 (1)删除的元素在集合中 (2)删除集合中不存在的元素,discard ...

  6. python随机选择一个幸运观众_从十名观众中随机选取8名幸运观众,不能重复选取同一个观众为幸运观众(CPrimerPlus第十六章第五题)...

    其实就是CPrimerPlus第十六章第五题,只不过我把标题写的更生动些啦. 刚开始我理解两次选的人不一样就行了,于是只安排了连续两次选人之间对比,人相同了那么就将第二次选择作废,重来一次,直到选的人 ...

  7. python数组每个元素加1_python-根据键转换numpy数组中的每个元素

    我认为最好遍历字典,并"一次"在所有行和列中设置值: >>> a = np.array([[1,2,3],[3,2,1]]) >>> a arr ...

  8. python随机生成字符串_Python 2.6中的随机字符串(可以吗?)

    我一直在试图找到一种更像python的方法来生成python中的随机字符串,这种方法也可以伸缩.通常,我看到类似的东西''.join(random.choice(string.letters) for ...

  9. Python随机选择一部分训练样本作为测试样本

    假设训练样本有30个,从训练样本中随机获得10个作为测试样本,剩下20个继续作为训练样本 import numpy as nptrainingSet = list(range(30)) # 训练样本下 ...

最新文章

  1. CentOS 6.0安装VNC Server
  2. 网络工程师的“钱途”如何?
  3. 日常运维管理技巧十五(htop使用说明top增强版)(转载)
  4. 响应微信公众平台公众号菜单单击事件
  5. 轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求
  6. python 抠图 锯齿_Python | 绘图中的抗锯齿
  7. 1002.写出这个数
  8. 编译DCNv2网络:error: command ‘C:\\Program Files\\NVIDIAGPUComputingToolkit\\CUDA\\v10.0\\bin\\nvcc.exe‘
  9. linux下安装apache mysql,linux下常见的apache+mysql+php的安装
  10. vs2012转成vs2010
  11. Java 小数保留小数位数的方法
  12. css3-pie,CSS3PIE
  13. [报错]CXF动态客户端报错:No operation was found with the name
  14. 2018 新年快乐 万事如意
  15. 基于Atmel128A单片机的MP31.0设计
  16. css3 transition属性实现三角形
  17. vue项目首屏加载优化
  18. 访问学者如何申请美国J1签证?
  19. 小丸子学Oracle 12c系列之——Oracle Pluggable Database
  20. icloud 邮箱收发服务器,iCloud解决超大邮件问题

热门文章

  1. GitModel|Task04|随机模拟
  2. 辛辛苦苦学C语言究竟有什么用?
  3. 一个基于 Spring Boot 的开源社区
  4. spring cloud alibaba nacos
  5. android cpu调度6,关于安卓系统的手机CPU频率和I/O调度器的设置,如何设置才能让手机更流畅,求解释。...
  6. Android kernel log level查看和设置
  7. 齐博万象圈子模板制作心得
  8. 【论文相关】强化学习:提前看287篇ICLR-2021 深度强化学习领域论文得分汇总列表...
  9. 暗潮:微信小程序第三弹:关于微信小程序吸粉方式的可行性分析
  10. React Native 集成极光推送 jpush-react-native