numpy 中的random函数在写代码中有很重要的作用
每次都记不太住每个函数的区别(笑哭)
索性就自己来做一个总结加深一下记忆吧
**
1. np.random.random(size=())
**
作用:产生【0,1】之间的随机数
import numpy as np
x = np.random.random((2,3))
print(x)
[[0.02530484 0.63131895 0.45685136]
[0.17986004 0.88922722 0.26862242]]
2.np.random.rand()
作用:产生【0,1】之间的均匀分布随机数
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(1000,2)
plt.scatter(x[:,0],x[:,1])
plt.xlim([-1,2])
plt.ylim([-1,2])
plt.show()
3.np.random.randn()
作用:产生标准正态分布的随机数
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randn(1000,2)#产生标准正态分布的1000个数据
plt.scatter(x[:,0],x[:,1])
plt.show()
4.np.random.uniform(low,high,size)
作用:产生【low,high】之间均匀分布的随机数
import numpy as np
import matplotlib.pyplot as plt
x = np.random.uniform(2,3,(1000,2))#产生(2,3)之间均匀分布的1000个数据
plt.scatter(x[:,0],x[:,1])
plt.xlim([1,4])
plt.ylim([1,4])
plt.show()
5.np.random.seed()
作用:每次产生相同的随机数
情况:当代码中需要产生随机数,但是想让每次的随机数分布相同,则可以使用该语句。
import numpy as np
x = np.random.rand()
y = np.random.rand()
print(x,y)
>>> x
0.7203244934421581
>>> y
0.00011437481734488664
产生的随机数x,y不同
import numpy as np
np.random.seed(1)
x = np.random.rand()
np.random.seed(1)
y = np.random.rand()
print(x,y)
>>> x
0.417022004702574
>>> y
0.417022004702574
产生的x,y随机数相同
注意:需要每次在产生随机数之前都需要中下种子,否则还是会产生不相同的随机数
6.np.random.randint(low, high=None, size=None)
作用返回一个随机整型数,范围从低(包括)到高(不包括),即[low, high)。如果没有写参数high的值,则返回[0,low)的值。
>>> np.random.randint(3,size = (2,3))
array([[0, 2, 1],
[2, 0, 2]])
>>> np.random.randint(3,6,size = (2,3))
array([[4, 5, 3],
[3, 5, 3]])
个人感觉常用的是这么几种,就先写这么多吧