香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

numpy.random模块用法总结


时间:2022-04-02 10:38 作者:admin610456


random模块用于生成随机数,下面看看模块中一些常用函数的用法:

from numpy import random

numpy.random.uniform(low=0.0, high=1.0, size=None)

生出size个符合均分布的浮点数,取值范围为[low, high),默认取值范围为[0, 1.0)

>>> random.uniform()0.3999807403689315>>> random.uniform(size=1)array([0.55950578])>>> random.uniform(5, 6)5.293682668235986>>> random.uniform(5, 6, size=(2,3))array([[5.82416021, 5.68916836, 5.89708586],    [5.63843125, 5.22963754, 5.4319899 ]])

numpy.random.rand(d0, d1, ..., dn)

生成一个(d0, d1, ..., dn)维的数组,数组的元素取自[0, 1)上的均分布,若没有参数输入,则生成一个数

>>> random.rand()0.4378166124207712>>> random.rand(1)array([0.69845956])>>> random.rand(3,2)array([[0.15725424, 0.45786148],    [0.63133098, 0.81789056],    [0.40032941, 0.19108526]])>>> random.rand(3,2,1)array([[[0.00404447],    [0.3837963 ]],    [[0.32518355],    [0.82482599]],    [[0.79603205],    [0.19087375]]])

numpy.random.randint(low, high=None, size=None, dtype='I')

生成size个整数,取值区间为[low, high),若没有输入参数high则取值区间为[0, low)

>>> random.randint(8)5>>> random.randint(8, size=1)array([1])>>> random.randint(8, size=(2,2,3))array([[[4, 7, 0],    [1, 4, 1]],    [[2, 2, 5],    [7, 6, 4]]])>>> random.randint(8, size=(2,2,3), dtype='int64')array([[[5, 5, 6],    [2, 7, 2]],    [[2, 7, 6],    [4, 7, 7]]], dtype=int64)

numpy.random.random_integers(low, high=None, size=None)

生成size个整数,取值区间为[low, high], 若没有输入参数high则取值区间为[1, low],注意这里左右都是闭区间

>>> random.randint(8)>>> random.randint(8, size=1)array([1])>>> random.randint(8, size=(2,2,3))array([[[4, 7, 0],    [1, 4, 1]],    [[2, 2, 5],    [7, 6, 4]]])>>> random.randint(8, size=(2,2,3), dtype='int64')array([[[5, 5, 6],    [2, 7, 2]],    [[2, 7, 6],    [4, 7, 7]]], dtype=int64)

numpy.random.random(size=None)

产生[0.0, 1.0)之间的浮点数

>>> random.random(5)array([0.94128141, 0.98725499, 0.48435957, 0.90948135, 0.40570882])>>> random.random()0.49761416226728084

相同用法:

numpy.random.random_sample numpy.random.ranf numpy.random.sample (抽取不重复)

numpy.random.bytes(length)

生成随机字节

>>> random.bytes(1)b'%'>>> random.bytes(2)b'\xd0\xc3'

numpy.random.choice(a, size=None, replace=True, p=None)

从a(数组)中选取size(维度)大小的随机数,replace=True表示可重复抽取,p是a中每个数出现的概率

若a是整数,则a代表的数组是arange(a)

>>> random.choice(5)3>>> random.choice([0.2, 0.4])0.2>>> random.choice([0.2, 0.4], p=[1, 0])0.2>>> random.choice([0.2, 0.4], p=[0, 1])0.4>>> random.choice(5, 5)array([1, 2, 4, 2, 4])>>> random.choice(5, 5, False)array([2, 0, 1, 4, 3])>>> random.choice(100, (2, 3, 5), False)array([[[43, 81, 48, 2, 8],    [33, 79, 30, 24, 83],    [ 3, 82, 97, 49, 98]],    [[32, 12, 15, 0, 96],    [19, 61, 6, 42, 60],    [ 7, 93, 20, 18, 58]]])

numpy.random.permutation(x)

随机打乱x中的元素。若x是整数,则打乱arange(x),若x是一个数组,则将copy(x)的第一位索引打乱,意思是先复制x,对副本进行打乱处理,打乱只针对数组的第一维

>>> random.permutation(5)array([1, 2, 3, 0, 4])>>> random.permutation(5)array([1, 4, 3, 2, 0])>>> random.permutation([[1,2,3],[4,5,6]])array([[1, 2, 3],    [4, 5, 6]])>>> random.permutation([[1,2,3],[4,5,6]])array([[4, 5, 6],    [1, 2, 3]])

numpy.random.shuffle(x)

与permutation类似,随机打乱x中的元素。若x是整数,则打乱arange(x). 但是shuffle会对x进行修改

>>> a = arange(5)>>> aarray([0, 1, 2, 3, 4])>>> random.permutation(a)array([1, 4, 3, 2, 0])>>> aarray([0, 1, 2, 3, 4])>>> random.shuffle(a)>>> aarray([4, 1, 3, 2, 0])

numpy.random.seed(seed=None)

设置随机生成算法的初始值

其它符合函数分布的随机数函数

numpy.random.beta numpy.random.binomial numpy.random.chisquare numpy.random.dirichlet numpy.random.exponential numpy.random.f numpy.random.gamma numpy.random.geometric numpy.random.gumbel numpy.random.hypergeometric numpy.random.laplace numpy.random.logistic numpy.random.lognormal numpy.random.logseries numpy.random.multinomial numpy.random.multivariate_normal numpy.random.negative_binomial numpy.random.noncentral_chisquare numpy.random.noncentral_f numpy.random.normal numpy.random.pareto numpy.random.poisson numpy.random.power numpy.random.randn numpy.random.rayleigh numpy.random.standard_cauchy numpy.random.standard_exponential numpy.random.standard_gamma numpy.random.standard_normal numpy.random.standard_t numpy.random.triangular numpy.random.vonmises numpy.random.wald numpy.random.weibull numpy.random.zipf

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)