python 数据分析的学习和应用过程中,经常需要用到 numpy 的随机函数,由于随机函数 random 的功能比较多,经常会混淆或记不住,下面我们一起来汇总学习下。


1 numpy.random.rand()

numpy.random.rand(d0,d1,…,dn) • rand 函数根据给定维度生成 [0,1) 之间的数据,包含 0,不包含 1 • dn 表格每个维度 返回值为指定维度的 array

import numpy as np

np.random.rand(4,2)
np.random.rand(4,3,2)

运行结果:

Python基础之- Numpy 的 random 函数简介_随机数

2 numpy.random.randn()

numpy.random.randn(d0,d1,…,dn) • randn 函数返回一个或一组样本,具有标准正态分布。 • dn 表格每个维度 返回值为指定维度的 array

#当没有参数的时候返回为一个随机单数据
print(np.random.randn())
print(np.random.randn(4,2))
print(np.random.randn(4,3,2))

运行结果:

Python基础之- Numpy 的 random 函数简介_数组_02Python基础之- Numpy 的 random 函数简介_数组_03

3 numpy.random.randint()

numpy.random.randint(low, high=None, size=None, dtype=‘l’) 返回随机整数,范围区间为 [low,high),包含 low,不包含 high 参数:low 为最小值,high 为最大值,size 为数组维度大小,dtype 为数据类型,默认的数据类型是 np.int• high 没有填写时,默认生成随机数的范围是 [0low)

print(np.random.randint(1,size=5))
# 返回1个[1,5)时间的随机整数
print(np.random.randint(1,5))
print(np.random.randint(-5,5,size=(2,2)))
print(np.random.random_integers(1,size=5))

运行结果:

Python基础之- Numpy 的 random 函数简介_数据类型_04


4 numpy.random.choice()

numpy.random.choice(a, size=None, replace=True, p=None) 从给定的一维数组中生成随机数 参数:a 为一维数组类似数据或整数;size 为数组维度;p 为数组中的数据出现的概率 • a 为整数时,对应的一维数组为 np.arange(a)

print(np.random.choice(5, 3, replace=False))
print(np.random.choice(5,size=(3,2)))
demo_list = ['huawei', 'vivo','oppo','xiaomi', 'rongyao']
print(np.random.choice(demo_list,size=(3,3)))

demo_list = ['huawei', 'vivo','oppo','xiaomi', 'rongyao']
print(np.random.choice(demo_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1]))

demo_list = ['huawei', 'vivo','oppo','xiaomi', 'rongyao']
print(np.random.choice(demo_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1]))

运行结果:

Python基础之- Numpy 的 random 函数简介_数组_05

5 numpy.random.seed()

• np.random.seed() 的作用:使得随机数据可预测。 当我们设置相同的 seed,每次生成的随机数相同。如果不设置 seed,则每次会生成不同的随机数

print(np.random.seed(1676))
print(np.random.rand(5))

运行结果:

Python基础之- Numpy 的 random 函数简介_随机数_06




Python基础之- Numpy 的 random 函数简介_随机数_07Python基础之- Numpy 的 random 函数简介_numpy_08Python基础之- Numpy 的 random 函数简介_数据类型_09Python基础之- Numpy 的 random 函数简介_数组_10Python基础之- Numpy 的 random 函数简介_数据类型_11Python基础之- Numpy 的 random 函数简介_numpy_12Python基础之- Numpy 的 random 函数简介_数据_13Python基础之- Numpy 的 random 函数简介_数据类型_14Python基础之- Numpy 的 random 函数简介_数组_15