np.random.permutation(数组)
- 按照数组的第一个轴返回数组的随机排列作为一个新数组
import numpy as np
b=np.arange(12).reshape(2,2,3)
a=np.random.permutation(b)
print(a)
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
[[[ 6 7 8]
[ 9 10 11]]
[[ 0 1 2]
[ 3 4 5]]]
np.random.shuffle(数组)
- 按照数组的第一个轴对数组进行随机排列
import numpy as np
b=np.arange(12).reshape(2,2,3)
np.random.shuffle(b)
print(b)
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
[[[ 6 7 8]
[ 9 10 11]]
[[ 0 1 2]
[ 3 4 5]]]
np.random.rand()
- 产生均匀分布的样本值
- 数据在0-1之间:0<=数据<1
np.random.randn()
- 产生正态分布的样本值(均值为0,标准差为1)
np.random.normal(均值,标准差,shape)
- 产生高斯正态分布的样本值
- 给定均值与标准差,按shape返回数组
np.random.randint(low,high,size,dtype=int)
- 产生整数数组
- 数据在low与high之间:low<=数据<high
- size是数组大小,可以直接设置shape
import numpy as np
a=np.random.rand(6).reshape(2,3)
b=np.random.randn(6)
print('a:\n',a)
print('b:\n',b)
print('均值为2,标准差为1.52,shape为(3,5)的数组:\n',np.random.normal(2,1.52,(3,5)))
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
a:
[[0.61612483 0.56318751 0.36816219]
[0.6909312 0.81616768 0.92564349]]
b:
[-1.07047691 0.59564405 0.66580806 1.73630363 -0.68616005 0.12560851]
均值为2,标准差为1.52,shape为(3,5)的数组:
[[ 3.79355132 0.4279682 1.95519999 1.108661 -1.04303947]
[ 1.46955627 3.70318833 3.37216073 1.39718475 3.22984242]
[ 1.95765676 1.90620876 1.97837099 4.30100364 1.16260341]]
np.random.binomial(n,p,size)
- 产生二项分布的样本值
二项式分布指的是每个样本的实验都只有两种互斥的可能,且样本之间完全独立,每个样本的成功概率都相等。
每次实验的样本数为n,每个样本成功概率是p,总共做“size的轴乘积”次实验;最后返回每次实验中样本成功的数量组成的序列(0<=成功数量<=n) - n:单次实验的样本数,正整数
- p:每个样本成功的概率,0-1之间的小数
- size:返回的shape,正整数或整数型数组
shape的轴的乘积就是样本次数
import numpy as np
print('每次抛一枚硬币,正面朝上的概率为0.5,抛5次,每次正面朝上的次数组成的序列为:')
print(np.random.binomial(1,0.5,5))
print('每次抛3枚硬币,每枚正面朝上的概率为0.5,抛30次,每次正面朝上的次数组成的序列为:')
print(np.random.binomial(3,0.5,(5,3,2)))
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
每次抛一枚硬币,正面朝上的概率为0.5,抛5次,每次正面朝上的次数组成的序列为:
[1 1 1 0 0]
每次抛3枚硬币,每枚正面朝上的概率为0.5,抛30次,每次正面朝上的次数组成的序列为:
[[[2 2]
[1 0]
[0 2]]
[[3 1]
[1 1]
[1 1]]
[[0 2]
[3 2]
[1 1]]
[[2 1]
[0 1]
[2 1]]
[[2 3]
[1 1]
[2 1]]]