首页 > 其他 > 详细

关于numpy的那点小事儿~~~

时间:2018-09-21 22:28:26      阅读:158      评论:0      收藏:0      [点我收藏+]

这玩意用了很多次,但每次用还是容易混淆,今天来总结mark一下~~~

1. numpy.random.rand(d0,d1,...,dn)生成一个[0,1)之间的随机数或N维数组

np.random.rand(2) #生成两个[0,1)之间的数
[0.6555729  0.76240372]
np.random.rand(2,2) #生成2行*2列的矩阵
[[0.58360206 0.91619225]
 [0.78203671 0.06754087]]

2. numpy.random.randn(d0,d1,...,dn)生成一个[0,1)之间的随机浮点数或N维浮点数组 #正态分布

np.random.rand(2) #生成两个[0,1)之间的浮点数
[-0.03609815  0.25591596]
np.random.rand(2,2) #生成2行*2列的矩阵
[[-0.3021947  -0.37880516]
 [-1.84794341 -1.27301629]]

3. numpy.random.randint(low,high=None,size=None,dtype=‘1‘)生成一个整数或N维整数数组

若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数,且high必须大于low

dtype只能是int类型

np.random.randint(2)#1个0~2的整数
1
np.random.randint(1,2)#1个1~2的整数
1
np.random.randint(1,5,size=3) #3个1~5的整数
[3 1 2]

4.numpy.random.normal(low,high,size=(4,4))#生成一个标准正态分布的4*4样本值

numpy.random.normal(loc=0.0, scale=1, size=(2, 3))
array([[ 2.36637254, -0.28686707, -0.5227531 ],
       [ 0.35879566,  0.70202319, -0.84655717]])

5.numpy.random.shuffle() 随机打乱序列

将序列的所有元素随机排序,传入参数可以是一个序列或者元组

[[-0.15040995 -0.43780718 -0.22292445]
 [-0.89388124 -0.39465164  0.24113838]]

6.numpy.random.choice() 随机选取序列的一个元素

可以从序列(字符串、列表、元组等)中随机选取,返回一个列表,元组或字符串的随机项

np.random.choice([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
c
np.random.choice(5, 6)#6个小于5的元素
[2 3 3 3 1 2]
np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])#p:每个条目出现的概率。如果没有,假设样本在A中的所有条目都具有均匀分布。
[0 3 2]

7.numpy.random.RandomState() 指定种子值

numpy.random.RandomState()指定种子值(指定种子值是为了使同样的条件下每次产生的随机数一样,避免程序调试时由随机数不同而引起的问题)

如不设置种子值时,np.random.randint(8)可能产生0-7内的任意整数,且每次产生的数字可能是任意一种.

而设置种子值后,np.random.RandomState(0).randint(8)可能产生0-7内的任意整数,但种子值不变时每次运行程序产生的数字一样.

np.random.RandomState(0).randint(8)#产生随机整数
4
n1 = numpy.random.RandomState(0).random_sample()
n2 = numpy.random.RandomState(0).random_sample(size=(2,3))
0.548813503927 
[[ 0.5488135   0.71518937  0.60276338]
 [ 0.54488318  0.4236548   0.64589411]]

关于numpy的那点小事儿~~~

原文:https://www.cnblogs.com/nxf-rabbit75/p/9688576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!