numpy笔记---random

随机种子np.random.seed(n)

np.random.seed(10)
使用相同随机种子生成的随机数相同
np.random.randn(10)
array([ 1.3315865 , 0.71527897, -1.54540029, -0.00838385, 0.62133597,
-0.72008556, 0.26551159, 0.10854853, 0.00429143, -0.17460021])
np.random.seed(10)
np.random.randn(10)
array([ 1.3315865 , 0.71527897, -1.54540029, -0.00838385, 0.62133597,
-0.72008556, 0.26551159, 0.10854853, 0.00429143, -0.17460021])

没有使用相同的随机种子生成的随机数不同
np.random.randn(10)
array([ 0.43302619, 1.20303737, -0.96506567, 1.02827408, 0.22863013,
0.44513761, -1.13660221, 0.13513688, 1.484537 , -1.07980489])

区分np.random.shuffle 和np.random.permutation

a = np.arange(10)

a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.random.shuffle(a)对a调整顺序并不产生新的数组
b = np.random.shuffle(a)
a
array([9, 4, 8, 1, 7, 5, 0, 6, 2, 3])
b

np.random.permutation(a)返回新的数组,原数组顺序没变
a = np.arange(10)
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b
array([5, 1, 4, 6, 7, 8, 0, 3, 9, 2])

区分np.random.normal,np.random.rand,np.random.randn

np.random.normal(5,2,10)
array([ 6.55582602, 5.97653812, 3.12773224, 3.05257955, 3.13588089,
6.33221009, 5.15168474, 5.64944466, 5.68188013, 5.23081224]) #生成均值为5标准差为2的是个正态分布随机数

np.random.rand(10)
array([ 0.6758517 , 0.63326788, 0.20153742, 0.80279461, 0.91636195,
0.40587873, 0.1751124 , 0.08002342, 0.88491877, 0.2775275 ]) #生成标准正态分布中大于0部分的10个随机数

np.random.randn(10)
array([ 0.98282429, 1.09955833, 0.88295183, -1.31394934, -1.92416271,
0.88551124, 1.44165564, 0.76586897, -1.06280699, 1.38129948]) #生成标准正态分布

#coding:utf-8
import numpy as np
import matplotlib.pyplot as plt

b1 = np.random.normal(5,2,5000) #正态分布均值5,标准差2,5000个样本点
b2 = np.random.normal(0,1,5000) #标准正态分布
c = np.random.rand(5000) #均值大于0的随机数,5000个样本点
d = np.random.randn(5000) #标准正态分布

#figsize((9,7))图像大小
plt.figure(1,figsize=(9,7))
plt.subplot(2,2,1)
#hist(样本,盒子数量,颜色,标准化,透明度)
n, bins, _ = plt.hist(b1, 50, color='green', normed = 1,alpha=0.75,label='normal')
#n表示每个盒子中点的数量,bins盒子的中间值,normed = True---> n标准化
plt.legend(loc='best')
plt.grid(True)

plt.subplot(2,2,2)
n, bins, _ = plt.hist(b2, 50, color='blue', normed = 1,alpha=0.75,label='normal')
plt.legend(loc='best')
plt.grid(True)

plt.subplot(2,2,3)
n, bins, _ = plt.hist(c, 50, color='c', normed = 1,alpha=0.75,label='rand')
plt.legend(loc='best')
plt.grid(True)

plt.subplot(2,2,4)
n, bins, _ = plt.hist(d, 50, color='red', normed = 1,alpha=0.75,label='randn')
plt.legend(loc='best')
plt.grid(True)
plt.show()

可视化

numpy笔记---random_第1张图片

你可能感兴趣的:(python,numpy,random)