random
(Legacy random generation — NumPy v2.0 Manual)
- 初始化种子和状态
seed
设置随机种子 种子相同,随机结果相同
get_state
获取当前的随机数生成器状态
set_state
设置随机数生成器,接受get_state 的返回结果
import numpy as np
np.random.seed(0)
a = np.random.get_state()
print(np.random.randn(6))
np.random.seed(1)
b = np.random.get_state()
print(np.random.randn(6))
np.random.set_state(a)
print(np.random.randn(6))
'''
[ 1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788]
[ 1.62434536 -0.61175641 -0.52817175 -1.07296862 0.86540763 -2.3015387 ]
[ 1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788]
'''
- 简单随机数据
rand
给定形状的随机值
randn
标准正态分布转化一个或者多个样本
randint
介于两个值之间的随机整数 左闭右开
choice
从给定的一维数组生成随机样本
random_sample
返回半开间隔 [0.0, 1.0] 内的随机浮点数
np.random.seed(0)
# print(np.random.rand(3,4))
'''
[[0.5488135 0.71518937 0.60276338 0.54488318]
[0.4236548 0.64589411 0.43758721 0.891773 ]
[0.96366276 0.38344152 0.79172504 0.52889492]]
'''
# print(np.random.randn(2,3))
# print(np.random.randn(2))
'''
[[ 1.76405235 0.40015721 0.97873798]
[ 2.2408932 1.86755799 -0.97727788]]
[ 0.95008842 -0.15135721]
'''
# print(np.random.randint(2,4)) # 2
# print(np.random.random_sample()) # 0.5488135039273248
- 排列
shuffle
随机打乱序列内容
permutation
返回一个随机排列的副本,而不改变原始数组
# np.random.shuffle(li)
# print(li)# [2, 8, 4, 9, 1, 6, 7, 3, 0, 5]
print(np.random.permutation(li))
print(li)
'''
[2 8 4 9 1 6 7 3 0 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'''
- 分布
standard_normal
正态分布 均值0 方差1
uniform
均匀分布 指定范围
print(np.random.standard_normal((3,3)