首先:
import numpy as np
1、构建随机数:
np.random.rand(3,2) 构造一个3X2的矩阵(默认0-1)
>array([[ 0.87876027, 0.98090867],
[ 0.07482644, 0.08780685],
[ 0.6974858 , 0.35695858]])
#返回随机的整数,左闭右开
np.random.randint(10,size = (5,4))
>array([[8, 0, 3, 7],
[4, 6, 3, 4],
[6, 9, 9, 8],
[9, 1, 4, 0],
[5, 9, 0, 5]])
np.random.randint(0,10,3) #从0到10步长为3
>array([7, 7, 5])
对于正态分布:
numpy.random.normal(loc=0,scale=1e-2,size=shape)
loc(float):正态分布的均值。
scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。
size(int 或者整数元组):输出的值赋在shape里,默认为None。
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
>array([ 0.05754667, -0.07006152, 0.06810326, -0.11012173, 0.10064039,
-0.06935203, 0.14194363, 0.07428931, -0.07412772, 0.12112031])
也可指定小数位数:
np.set_printoptions(precision = 2)
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
>array([ 0.01, 0.02, 0.12, -0.01, -0.04, 0.07, 0.14, -0.08, -0.01, -0.03])
2、洗牌.shuffle
tang_array = np.arange(10)
tang_array
>array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.random.shuffle(tang_array)
tang_array
>array([6, 2, 5, 7, 4, 3, 1, 0, 8, 9])
3、随机种子
np.random.seed(100)
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
>array([-0.17, 0.03, 0.12, -0.03, 0.1 , 0.05, 0.02, -0.11, -0.02, 0.03])