np.random.choice 使用小结

最近在实现某个功能的时候,用到了np.random.choice这个函数。特此记录一下,以免日后忘记。它的功能就是从给定的一个1-D数组中以某种概率随机抽取D个数。函数的定义如下

choice(a, size=None, replace=True, p=None)
  • a: 给定的一维数组且必须是一维数组。可以有两种给值,
    • 给定一个数组,例如a=[1,2,3,4]
    • 给定一个正值,此时就相当于从列表np.arange(a)中随机抽取D个整数
  • size: 表示想要得到的数的个数,
    • 如果size=3,表示得到3个数。
    • 如果size=(3,2),表示得到3*2个数,且形状为3*2
  • replace: 表示是否重复选取,默认表示可以重复选择.
  • p: 表示列表中某数被选取的概率,默认为正态分布

介绍了相关的参数后,接下来就开始上一些demo来加深记忆

import numpy as np
x = np.random.choice(6, 3, replace=True, p = None)
'结果:[9 0 2]'
'size 变成 (3,2)时'
x = np.random.choice(10, (3, 2), replace=True, p = None)
'''
结果:
[[9 4]
 [8 7]
 [0 3]]'''

'replace = True: 可能产生[3 4 4]'
'replace = False: 产生[1 2 5],不可能出现重复值'
x = np.random.choice(6, 3, replace=False, p=[0.1, 0.1, 0.5, 0.1, 0.1, 0.1])
'结果:[0 3 2]'
'p=[0.1, 0.1, 0.5, 0.1, 0.1, 0.1]: 表示第三个数有着更大的概率被挑选出来'

可以看到,该函数的使用是非常简单的。其实根本就没有记录的必要,但是该功能的出现确实省了不少事,所以给予它足够的尊重,故记录于此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值