在涉及到数据分析的时候经常会使用到某个范围之内的随机数,所以掌握numpy中常见的随机数的生成是很有帮助的,下面是numpy生成随机数的常见用法:
1. 生成指定形状的0 - 1之间的随机数:np.random.random()和np.random.rand(),括号中的参数为生成的数组的维数,random与rand不同的一点是rand可以传递多个参数,比如生成二维数组numpy.rand(4,5),而random需要括起来两个参数numpy.random((4,5))
a = np.random.random(2)
print(a)
a = np.random.random((3, 4))
print(a)
a = np.random.rand(2)
print(a)
a = np.random.rand(4, 5)
print(a)
print("*" * 50)
2. 生成指定数值范围内的随机整数:np.random.randint()
a = np.random.randint(1, 20, size=10)
3. 与正态分布有关的随机函数:np.random.randn()和np.random.normal()
a = np.random.randn(3)
print(a)
# loc表示均值, scale表示的是标准差
a = np.random.normal(loc=3, scale=0.7, size=10)
print(a)
4. 均匀分布随机函数:np.random.uniform()生成指定范围内的服从均匀分布的随机数
a = np.random.uniform(1, 20, 4)
print(a)
5. 按照种子来生成随机数,种子一样,则生成的随机数结果必一致,函数为:np.random.seed()
np.random.seed(3)
a = np.random.rand(3)
print(a)
6. 打乱数组元素顺序(原地操作数组):np.random.shuffle():
a = np.arange(20)
np.random.shuffle(a)
print(a)
7. 按照指定概率从指定数组中,生成随机数:np.random.choice()
a = np.random.choice([1, 2, 3, 4], p=[0.1, 0.2, 0.3, 0.4])
print(a)