1 random.random()
返回 0 到 1 之间的随机浮点数
import random print(random.random()) print(random.random())
输出:
0.2831151154910224
0.6269681011181751
2 random.uniform(a, b)
返回 a 与 b 之间的随机浮点数N
# a 比 b 的值小 n1 = random.uniform(50, 100) # a 比 b 的值大 n2 = random.uniform(100, 50) print(n1, n2)
输出
64.61232176770227 97.95899400967602
3 random.randint(a,b)
返回一个随机整数N
注:a 和 b 的取值必须为整数,并且a 的值一定要小于 b 的值
4 random.randrange([start], stop[, step])
返回指定递增基数集合中的一个随机数
start默认值为1;包左不包右
print(random.randrange(10, 100, 2)) # 相当于从10到98的偶数当中随机选取一个数
5 random.choice(sequence)
从sequence中返回一个随机数
sequence 参数可以是列表、元组或字符串
print(random.choice("学习 python"))
print(random.choice(["JGood", [0], "is", "a", [0], "handsome", "boy"]))
print(random.choice(("Tuple", [0], "List", "Dict")))
输出:
n
boy
[0]
6 random.shuffle(X[,random])
用于将列表中的元素打乱顺序,俗称“洗牌”
7 random.sample(squence, K)
从指定序列中随机获取 K 个元素作为一个片段返回
list_num =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 定义temp为随机在list_num中获取的3个元素 temp = random.sample(list_num, 3) print(temp)
二 Numpy中的random import numpy as np输出:
[6, 2, 7]
1 numpy.random.rand(d0,d1,…,dn)
rand函数根据给定维度生成**[0,1)之间**的数据,包含0,不包含1
dn表格每个维度
返回值为指定维度的array
import numpy as np # 4行2列的随机数数组 print(np.random.rand(4, 2))
输出:
[[0.49794444 0.39348089]
[0.84257914 0.87682775]
[0.03353198 0.10316628]
[0.73273715 0.91094723]]
2 numpy.random.randn(d0,d1,…,dn)
randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的array
3 numpy.random.randint(low, high=None, size=None, dtype=’l’)
返回随机整数,范围区间为[low,high),包含low,不包含high
参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
high没有填写时,默认生成随机数的范围是[0,low)
# 返回[0, 1)之间的整数 维度是5*1 print(np.random.randint(1, size=5)) # 返回1个[1, 5)之间的随机整数 print(np.random.randint(1,5)) # 返回[-5, 5)之间的整数 维度是2*2 print(np.random.randint(-5, 5, size=(2,2)))
输出:
[0 0 0 0 0]
2
[[ 4 0]
[ 3 -4]]
4 生成[0,1)之间的浮点数
numpy.random.random_sample(size=(a, b))
numpy.random.random(size=(a, b))
numpy.random.ranf(size=(a, b))
numpy.random.sample(size=(a, b))
5 numpy.random.choice(a, size=None, replace=True, p=None)
从给定的一维数组中生成随机数
参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
a为整数时,对应的一维数组为np.arange(a)
# 返回0到5之间的数 维度3*1 print(np.random.choice(5, 3)) # 返回0到5之间的数 维度3*1 不能有重复 print(np.random.choice(5, 3, replace=False)) demo_list = ['lenovo', 'sansumg', 'moto', 'xiaomi', 'iphone'] print(np.random.choice(demo_list, size=(3, 3)))
输出:
[1 3 2]
[3 2 0]
[[‘moto’ ‘xiaomi’ ‘moto’]
[‘iphone’ ‘sansumg’ ‘sansumg’]
[‘moto’ ‘moto’ ‘lenovo’]]
6 np.random.seed()
使得随机数据可预测。
当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数



