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

Posted nxf-rabbit75

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于numpy的那点小事儿~~~相关的知识,希望对你有一定的参考价值。

这玩意用了很多次,但每次用还是容易混淆,今天来总结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的那点小事儿~~~的主要内容,如果未能解决你的问题,请参考以下文章

关于SSL/TLS的那点事儿

关于SSL/TLS的那点事儿

关于楼梯的那点事儿(持续更新)

关于PHP中对象复制的那点事儿

关于清除arp 缓存的那点事儿

关于支付系统-账务的那点事儿