1.生成[0,1)的随机数
import random
random.random()
# 生成一个随机的大于等于0小于1的数
0.997487567535071
2.生成随机的二维数组
import random
np.random.random((3,4))
# 生成随机的三行四列的二维数组
array([[0.22346273, 0.31560513, 0.12086595, 0.7976233 ],
[0.48278617, 0.44617591, 0.67508186, 0.80986526],
[0.41132748, 0.80865006, 0.90986765, 0.3442495 ]])
3.生成随机整数时控制范围
import random
np.random.randint(100,200,size=(3,4))
# 生成随机的三行四列的二位数组,范围在100~200之间
array([[194, 152, 118, 180],
[155, 142, 187, 110],
[188, 162, 126, 111]])
np.random.randint(200,size=(3,4))
# 生成0~200以内的数,三行四列的数组
array([[132, 160, 75, 126],
[147, 148, 6, 54],
[175, 79, 57, 17]])
4.生成均值为0,标准差为1的正态分布的值
三维数组的构造为:(块,行,列) 所以形状(1,5,5)表示的就是一块 五行 五列
import random
np.random.randn(2,3)
# 不需要传递元组 俩行三列的元组
array([[ 1.16027673, 0.62933849, -0.09969801],
[ 1.10283091, 0.51379235, 0.20539123]])
5.生成均值为4,方差为5的四行五列的二维正态分布的随机数组
import random
np.random.normal(4,5,size=(4,5))
array([[ 6.23130628, 7.28830462, -0.16211552, 8.17784028, 9.06629219],
[ 2.87490821, 3.46311354, -0.40576284, -1.49747231, 3.61156041],
[17.41940371, 6.22158778, 1.97281638, 3.68116247, 10.04551522],
[ 5.09454705, 2.14288987, 4.97696909, 13.75401609, -5.55305807]])
6.随机数种子(种子不变,其余的数都不变)
np.random.seed(1)
a = np.random.randint(4,100,size=(3,4))
a
array([[41, 16, 76, 13],
[79, 9, 83, 68],
[20, 5, 80, 75]])
7.对数组排序进行打乱(会改变原数组)
np.random.shuffle(a)
a
array([[62, 98, 59, 59],
[50, 59, 73, 5],
[91, 76, 54, 13]])
8.对数组排序进行打乱(不会改变原数组)
np.random.permutation(a)
array([[50, 59, 73, 5],
[91, 76, 54, 13],
[62, 98, 59, 59]])
9.从列表中抽取元素,生成随机的二行三列的数组
data = [1,55,66,23,46,7,89,99,90]
np.random.choice(data,size=(2,3))
array([[89, 46, 23],
[ 1, 99, 7]])
10.生成0-10的随机三个数
np.random.choice(10,3)
array([5, 9, 6])