randint(随机整数)
Return random integers from low (inclusive) to high (exclusive).
从区间 [low, high) 中返回随机的整数数组
- 参数
- low:最小值
- high:最大值,默认为 None
- size:个数,默认为None
- dtype:数据类型,默认为’l’
- 返回值
- out:整型或者整型数组
一些简单的🌰
- 0 到 50 中随机一个数
1 |
np.random.randint(50) |
- 10 到 50 中随机一个数
1 |
np.random.randint(10, 50) |
- 0 到 50 中随机 10 个数
1 |
np.random.randint(50, size=10) |
- 10 到 50 中随机 10 个数
1 |
np.random.randint(10, 50, 10) |
random/random_sample(随机 0-1 的浮点数)
Return random floats in the half-open interval [0.0, 1.0).
返回一个在 0-1 之间的随机的浮点数的数组
- 参数
- size:大小,默认为 None
- 返回值
- out:浮点数或浮点数数组
一些简单的🌰
- 随机返回一个浮点数
1 |
np.random.random() # 0.939393746883071 |
- 随机返回有一个浮点数的数组
1 |
np.random.random(1) # array([0.70345759]) |
- 随机返回 10 个浮点数的数组
1 |
np.random.random(10) |
rand(随机 0-1 给定形状的浮点数)
Random values in a given shape.
按照给定的形状返回数据(值为[0, 1) )
- 参数
- d0, d1, …, dn:形状信息,默认为 None,即可以不传数据
- 返回值
- out:ndarray
一些简单的🌰
- 不传数据
1 |
np.random.rand() |
- 返回一个 2 x 2的随机数组
1 |
np.random.rand(2, 2) |
randn(标准正态分布中随机样本)
Return a sample (or samples) from the “standard normal” distribution.
从标准正态分布返回一个或多个样本
- 参数:
- d0, d1, …, dn:形状信息
- 返回值:
- Z:浮点型或者浮点型数组
一些简单的🌰
- 不传数据
1 |
np.random.randn() # 1.5567818373271456 |
- 返回 2 x 5 的标准正态分布样本
1 |
np.random.randn(2, 5) |
normal(正态分布中随机样本)
Draw random samples from a normal (Gaussian) distribution.
从正态分布中抽取随机样本,默认返回标准正态分布
- 参数
- loc:期望值,默认为 0
- scale:标准差,默认为 1
- size:大小,默认为 None
- 返回值
- out:浮点型或者浮点型数组
一些简单的🌰
- 不传参数,默认为标准正态分布
1 |
np.random.normal() # 0.39605193328763477 |
- 期望值为 1,标准差为 2 的正态分布
1 |
np.random.normal(1, 2) # 0.9208239350120327 |
- 获取 10 个期望值为 5,标准差为 2 的正态分布的值
1 |
np.random.normal(5, 2, 10) |
choice(从给定数据中随机样本)
Generates a random sample from a given 1-D array
从给定的一维数组中,生成随机样本
- 参数:
- a:随机的参数
- 如果是 ndarray,则从中随机一个数字
- 如果是 int,则从 np.arange(a) 中随机一个数组
- size:大小,默认为 None
- replace:是否要放回取样,默认为 True
- p:随机选取对应索引的概率
- a:随机的参数
- 返回值:
- samples:single item or ndarray
一些简单的🌰
- 从 0-9 中随机选择一个元素
1 |
np.random.choice(10) # 2 |
- 从 0-9 中不放回取样 10 个数据
1 |
np.random.choice(10, 10, False) |
- 从0 - 1中取样 10 个数据,0 的取样概率为 0.8,1 的取样概率为 0.2
1 |
np.random.choice(2, 10, p=[0.8, 0.2]) |
uniform(均匀分布抽取)
Draw samples from a uniform distribution.
从均匀分布中抽取样本
- 参数
- low:下界,默认为 0
- high:上界,默认为 1
- size:大小,默认为 None
- 返回值
- out:ndarray or scalar
一些简单的🌰
- 不传参数,默认 [0, 1) 的均匀分布
1 |
np.random.uniform() # 0.237545651484531 |
- 获取[2, 10)中均匀分布的一个样本
1 |
np.random.uniform(2, 10) # 3.751506848826293 |
数据打散
permutation(不修改原数据)
Randomly permute a sequence, or return a permuted range.
随机排序一个序列,返回排序的结果
- 参数
- x:同 choice 中的 a
- 返回值
- out:ndarray
1 |
np.random.permutation(10) |
shuffle(修改原数据)
Modify a sequence in-place by shuffling its contents.
原地修改一个数组的顺序
- 参数
- x
1 |
a = np.arange(10) |
随机种子
seed
seed一旦定下来之后,如果是固定的 seed,则每次随机的结果都是一样的。
注意:seed 的有效次数仅为一次
1 |
np.random.seed(2) |