numpy.random.shuffle与permutation
- numpy.random.permutation(x)
参数:x 是整数,则随机排序 np.arange(x);
x 是数组,复制数组后随机打乱重新排序,不改变原来的数组
>>> np.random.permutation(5)
array([2, 1, 0, 3, 4])
- numpy.random.shuffle( lst )
参数:lst 是数组,直接在原来数组上进行操作,改变原来数组顺序,无返回值;
numpy.random 生成随机数情况
-
numpy.random.rand(d0, d1, …, dn)
参数 d 代表维度( eg: rand(2,3,4) shape为 234 );
rand 函数根据给定维度返回[0, 1) 之间的数据,返回值为 array; -
numpy.random.randn(d0, d1, …, dn)
randn 函数根据给定维度返回数据,符合标准正态分布,返回值为 array; -
numpy.random.randint((low, high=None, size=None, dtype=’int’)
randint 函数返回 [low, high) 之间随机整数,size 表示数组维度( eg: (2,3,4)),dtype 默认数据类型 int;high 没有填写,默认生成随机整数范围 [0, low); -
numpy.random.random(size=None)
random 函数生成 [0, 1) 之间的浮点数; -
numpy.random.choice(a, size=None, replace=True, p=None)
choice 函数从给定的一维数组 a 中生成随机数(eg: a=[‘he’,‘she’,‘they’])
参数:a 为给定的一维数组;size 表示数组维度;replace 为 False 时,生成的随机数不能有重复的数值;p 表示概率,与 a 长度一致,且 p 中数据之和为 1(eg:p=[0.1,0.7.0.2]) -
np.random.seed()
使得随机数据可预测;
seed 函数中参数相同,则生成的随机数相同(参数可随意,但一般设为42);