numpy笔记---random

来源:互联网 发布:声音可爱的网络歌手 编辑:程序博客网 时间:2024/06/07 17:56

随机种子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-8import numpy as npimport matplotlib.pyplot as pltb1 = 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()

可视化

这里写图片描述

原创粉丝点击