目录
最直接的方式(numpy.random)
np.random.rand
np.random.randn
np.random.randint
随机排列
np.random中其他函数
random模块构造
随机数组是非常有用的一种数组形式,特别是在测试中。
用numpy.random模块可方便生成随机数组,import numpy as np。
np.random.rand:生成[0.0, 1.0)之间的随机浮点数
没有参数时,返回一个随机浮点数;
一个参数时,返回该参数长度大小的一维随机浮点数数组;
np.random.rand(5)
array([0.22473024, 0.4379249 , 0.5324492 , 0.46408336, 0.81562242])
np.random.randn:返回一个具有标准正态分布样本
没有参数时,返回一个随机浮点数;
一个参数时,返回该参数长度大小的一维随机浮点数数组;
np.random.randn(5)
array([-0.10164446, 1.10179681, -1.50089522, -0.27573966, 0.35404193])
np.random.randint(low[, high, size]) :返回随机的整数,位于半开区间 [low, high)
一个参数时(>0),返回0至此参数间的值;
两个参数时,返回[low, high) 间的值;
size提供时,返回size长的数组;
np.random.randint(10,size=5)
array([0, 5, 8, 1, 6])
np.random.randint(1, 10,size=5)
array([7, 8, 8, 2, 6])
np.random.shuffle(ary) 类似洗牌,打乱顺序;np.random.permutation(x)返回一个随机排列
ary=np.arange(10)
np.random.shuffle(ary)
array([4, 0, 9, 3, 2, 7, 1, 8, 6, 5])
np.random.permutation(10)
array([1, 3, 8, 0, 5, 7, 9, 2, 4, 6])
seed:随机种子;
randn(N,M,...):生成满足标准正态分布的N*M*...维数的数组;
nomal(mean,std,size=(N,M...)):生成满足(mean,std)的正态分布数组;
beta(a,b,size):生成beta分布样本;
chisquare(df,size):自由度为df的卡方分布;
gamma(shape,scale=1.0,size=None):gamma分布;
uniform(low=0.0, high=1.0, size=None):uniform分布;
import random
random.randint(low, hight):返回一个位于[low,hight](首尾元素都可能取到)之间的整数;
random.random() :返回一个[0.0, 1.0)之间的浮点数;
random.uniform(val1, val2):返回两个数字区间的一个浮点数,不要求val1小于等于val2;
random.randrange(start, stop, step):返回以start开始,stop结束(不包括),step为步长的列表中的随机整数;