# 构造随机数
~~~
import numpy as np
# 构造3行2列
# 值是从0到1的随机数
print(np.random.rand(3, 2))
~~~
输出
~~~
[[ 0.605721 0.3173085 ]
[ 0.7827691 0.01328121]
[ 0.28464864 0.41312727]]
~~~
# 构造指定范围的随机数
~~~
import numpy as np
# 随机数是0-10,左闭右开,维度是5行4列
randint = np.random.randint(10, size=(5, 4))
print(randint)
~~~
返回
~~~
[[1 9 9 7]
[6 4 3 5]
[4 6 1 3]
[4 8 9 1]
[9 9 0 5]]
~~~
# 返回一个数
~~~
import numpy as np
sample = np.random.random_sample()
print(sample)
~~~
输出
~~~
0.7799226901559352
~~~
随机整数
~~~
import numpy as np
# 0-10之间,3个随机整数,不包含10
randint = np.random.randint(0, 10, 3)
print(randint)
~~~
返回
~~~
0.7799226901559352
~~~
# 正态分布
~~~
import numpy as np
mu, sigma = 0, 0.1
# 我们要取10个数
normal = np.random.normal(mu, sigma, 10)
print(normal)
~~~
输出
~~~
[-0.12014471 0.05975655 0.02498604 0.03608821 -0.03849737 0.0780996
-0.02089003 -0.02095987 -0.04824946 0.16148243]
~~~
# 设置显示精度
~~~
import numpy as np
# 小数点后显示3位
np.set_printoptions(precision=3)
mu, sigma = 0, 0.1
# 我们要取10个数
normal = np.random.normal(mu, sigma, 10)
print(normal)
~~~
输出
~~~
[-0.112 -0.035 0.09 0.119 -0.03 -0.017 0.055 0.123 0.128 -0.151]
~~~
# 洗牌
~~~
import numpy as np
arange = np.arange(10)
print(arange)
# 进行洗牌
np.random.shuffle(arange)
print(arange)
~~~
输出
~~~
[0 1 2 3 4 5 6 7 8 9]
[4 7 9 0 3 2 6 8 1 5]
~~~
# 指定种子
比如我们调试程序的时候,我们对比2个实验,我们希望随机数不变来对比下
~~~
import numpy as np
# 设置种子
np.random.seed(10)
mu, sigma = 0, 0.1
normal = np.random.normal(mu, sigma, 10)
print(normal)
~~~
无论输出多少次,结果不变,在种子是一样的情况下