1:随机数模块
- 主要介绍python中的随机数模块,在numpy数组中的应用中的
1.1:random.random(size)
- 取0 - 1之间的随机数,由于这个方法numpy的数据结构是左开右闭的数据结构,所以这个方法娶不到1
- size:返回数据的形状
方法演示
import numpy as np
# 返回一个符合的数据
a = np.random.random()
# 返回一个有X行,Y列,Z深的符合要求的三维维数组数据,可以是二维,也可以是一维
b = np.random.random(size=(X, Y, Z))
运行效果

1.2:random.randint(start,end,size)
- 返回指定范围内的数据,同样是左闭右开的数据结构
- start:数据的开始
- end:数据的结束
- size:数据的形状
方法演示
import numpy as np
# 返回符合条件的一个数据
a = np.random.randint(100, 200)
# 返回符合条件的一组多维数组数据,可以是一维,可以是二维,可以是三维或者多维的数据
b = np.random.randint(100, 200, size=(3, 3, 3))
运行效果

1.3:random.randn(size)
- 返回符合数据的正态分布,均值为0,标准差为1数据的随机数组
- size:返回数据的形状
- 正态分布:Normal distribution
方法演示
import numpy as np
# 返回一个数据
np.random.randn()
# 返回多维数组,可以是一维,二维,三维等等
np.random.randn(size=(3, 3, 3))
运行效果

1.4:random.normal(loc,scale,size)
- 返回指定均值和方差的正态分布数值数据,默认均值为0:方差为1
- loc:均值
- scale:方差
- size:返回数据的形状规模
方法演示
import numpy as np
# 默认均值为0,方差为1
a = np.random.normal()
# 指定特定数据的均值、方差
b = np.random.normal(4, 5)
# 返回的数据可以是一维、二维、三维等等
c = np.random.normal(4, 5, size=(3, 3, 3))
运行效果

1.5:random.seed(1)
- 随机数种子,把一些特定的随机数组合给保存下来,方便后面的使用
- 1:随机数种子的编号,一个编号对应一个特定的数据
方法演示
import numpy as np
# 设置种子
np.random.seed(1)
a = np.random.randint(100, 200, size=(3, 3, 3))
a
a
运行效果

1.6:random.shuffle(a)
- 对数组的数据进行排序操作,排序的方式看数据的特性
- 直接对原数据进行排序操作
- a:需要排序的数组
- shuffle:洗牌
方法演示
import numpy as np
a = np.random.randint(100, 200, size=(3, 3))
# 排序
np.random.shuffle(a)
运行效果

1.7:random.permutation(a)
- 复制出来一个一摸一样的数据,对复制出来的数据,进行排序操作
- 排序不会影响原来的数据
- a:需要进行排序的操作,一般推荐使用这个方法,不会对原数据造成影响
- permutation:排序
方法演示
import numpy as np
# 数据
a = np.random.randint(100, 200, size=(3, 3))
# 排序操作
b = np.random.permutation(a)
b
运行效果

1.8:random.choice(data,size)
- 从一个数据中随机抽取一些数据,组成一个数组
- data:抽取数据的容器
- size:数据组成数组的形状
方法演示
import numpy as np
data = [1, 5, 10, 45, 100, 56, 99]
# 随机选择一个元素
np.random.choice(data)
# 随机选择多个元素,组成一维、二维、三维等多维数组
np.random.choice(data, size=(3, 3, 3))
运行效果

1.9:random.choice(int, size)
- 从0到int之间,选择多个数据,组成数组
- 数据类型的取值范围维,左闭右开
- int:0到int之间的数据,注意这个,取不到这个数
- size:组成数据的形状
方法演示
import numpy as np
# 取一个数据
a = np.random.choice(10)
# 取多个数据,组成一维、二维、三维等多个数据
b = np.random.choice(10, size(3, 3, 3))
运行效果
