加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python numpy之np.random的随机数函数使用介绍

发布时间:2020-12-17 17:42:57 所属栏目:Python 来源:网络整理
导读:np.random的随机数函数(1) 函数 说明 rand(d0,d1,..,dn) 根据d0ヾn创建随机数数组,浮点数, [0,1),均匀分布 randn(d0,dn) 根据d0ヾn创建随机数数组,标准正态分布 randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low,high) seed(

np.random的随机数函数(1)

函数 说明
rand(d0,d1,..,dn) 根据d0ヾn创建随机数数组,浮点数, [0,1),均匀分布
randn(d0,dn) 根据d0ヾn创建随机数数组,标准正态分布
randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low,high)
seed(s) 随机数种子, s是给定的种子值

np.random.rand

import numpy as np

a = np.random.rand(3,4,5)

a
Out[3]:
array([[[0.28576737,0.96566496,0.59411491,0.47805199,0.97454449],[0.15970049,0.35184063,0.66815684,0.13571458,0.41168113],[0.66737322,0.91583297,0.68033204,0.49083857,0.33549182],[0.52797439,0.23526146,0.39731129,0.26576975,0.26846021]],[[0.46860445,0.84988491,0.92614786,0.76410349,0.00283208],[0.88036955,0.01402271,0.59294569,0.14080713,0.72076521],[0.0537956,0.08118672,0.59281986,0.60544876,0.77931621],[0.41678215,0.24321042,0.25167563,0.94738625,0.86642919]],[[0.36137271,0.21672667,0.85449629,0.51065516,0.16990425],[0.97507815,0.78870518,0.36101021,0.56538782,0.56392004],[0.93777677,0.73199966,0.97342172,0.42147127,0.73654324],[0.83139234,0.00221262,0.51822612,0.60964223,0.83029954]]])

np.random.randn

b = np.random.randn(3,5)

b
Out[5]:
array([[[ 0.09170952,-0.36083675,-0.18189783,-0.52370155,-0.61183783],[ 1.05285606,-0.82944771,-0.93438396,0.32229904,-0.85316565],[ 1.41103666,-0.32534111,-0.02202953,1.02101228,1.59756695],[-0.33896372,0.42234042,0.14297587,-0.70335248,0.29436318]],[[ 0.73454216,0.35412624,-1.76199508,1.79502353,1.05694614],[-0.42403323,-0.36551581,0.54033378,-0.04914723,1.15092556],[ 0.48814148,1.09265266,0.65504441,-1.04280834,0.70437122],[ 2.92946803,-1.73066859,-0.30184912,1.04918753,-1.58460681]],[[ 1.24923498,-0.65467868,-1.30427044,1.49415265,0.87520623],[-0.26425316,-0.89014489,0.98409579,1.13291179,-0.91343016],[-0.71570644,0.81026219,-0.00906133,0.90806035,-0.914998 ],[ 0.22115875,-0.81820313,0.66359573,-0.1490853,0.75663096]]])

np.random.randint

c = np.random.randint(100,200,(3,4))

c
Out[9]:
array([[104,140,161,193],[134,147,126,120],[117,141,162,137]])

numpy.random.randint的详细用法 - python

函数的作用是,返回一个随机整型数,范围从低(包括)到高(不包括),即[low,high)。如果没有写参数high的值,则返回[0,low)的值。
numpy.random.randint(low,high=None,size=None,dtype='l')

参数如下:

参数 描述
low: int 生成的数值最低要大于等于low。
(hign = None时,生成的数值要在[0,low)区间内)
high: int (可选) 如果使用这个值,则生成的数值在[low,high)区间。
size: int or tuple of ints(可选) 输出随机数的尺寸,比如size=(m * n* k)则输出同规模即m * n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。
dtype: dtype(可选): 想要输出的格式。如int64、int等等

输出:

返回一个随机数或随机数数组

例子

>>> np.random.randint(2,size=10)
array([1,1,0])
>>> np.random.randint(1,size=10)
array([0,0])

>>> np.random.randint(5,size=(2,4))
array([[4,2,1],
       [3,0]])

>>>np.random.randint(2,high=10,3))
array([[6,8,7],
       [2,5,2]])

np.random.seed
随机种子生成器,使下一次生成的随机数为由种子数决定的“特定”的随机数,如果seed中参数为空,则生成的随机数“完全”随机。参考和文档。

np.random.seed(10)

np.random.randint(100,4))
Out[11]:
array([[109,115,164,128],[189,193,129,108],[173,100,136]])

np.random.seed(10)

np.random.randint(100,4))
Out[13]:
array([[109,136]])

np.random的随机数函数(2)

函数 说明
shuffle(a) 根据数组a的第1轴(也就是最外层的维度)进行随排列,改变数组x
permutation(a) 根据数组a的第1轴产生一个新的乱序数组,不改变数组x
choice(a[,size,replace,p]) 从一维数组a中以概率p抽取元素,形成size形状新数组replace表示是否可以重用元素,默认为False

np.random.shuffle

a = np.random.randint(100,4))

a
Out[15]:
array([[116,111,154,188],[162,133,172,178],[149,151,177]])

np.random.shuffle(a)

a
Out[17]:
array([[116,177],178]])

np.random.shuffle(a)

a
Out[19]:
array([[162,[116,177]])

可以看到,a发生了变化,轴。

np.random.permutation

b = np.random.randint(100,4))

b
Out[21]:
array([[113,192,186,130],[130,189,112,165],[131,157,136,127]])

np.random.permutation(b)
Out[22]:
array([[113,127]])

b
Out[24]:
array([[113,127]])

可以看到,b没有发生改变。

np.random.choice

c = np.random.randint(100,(8,))

c
Out[26]: array([123,194,128,174,188,109,115])

np.random.choice(c,2))
Out[27]:
array([[111,123],[109,115],[123,128]])#默认可以出现重复值

np.random.choice(c,2),replace=False)
Out[28]:
array([[188,111],[174,128]])#不允许出现重复值

np.random.choice(c,p=c/np.sum(c))
Out[29]:
array([[194,109]])#指定每个值出现的概率

np.random的随机数函数(3)

函数 说明
uniform(low,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状
normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状
poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状
u = np.random.uniform(0,10,4))

u
Out[31]:
array([[9.83020867,4.67403279,8.75744495,2.96068699],[1.31291053,8.42817933,6.59036304,5.95439605],[4.36353698,3.56250327,5.87130925,1.49471337]])

n = np.random.normal(10,4))

n
Out[33]:
array([[ 8.17771928,4.17423265,3.28465058,17.2669643 ],[10.00584724,9.94039808,13.57941572,4.07115727],[ 6.81836048,6.94593078,3.40304302,7.19135792]])

p = np.random.poisson(2.0,4))

p
Out[35]:
array([[0,[2,3],[4,3]])

数据分析师分析问题第一步,必须明确这是不是一个问题!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读