一、randn函数概述
在Python中,有一个非常有用的函数——numpy.random.randn。这个函数可以产生符合标准正态分布的随机数。所谓"标准正态分布"指的是均值为0,方差为1的正态分布。randn函数简单易用,对于数据科学家和机器学习工程师来说非常实用。
二、randn函数的用法
使用randn函数很简单,只需要在代码中引入numpy包,并用np.random.randn()来获取一个指定数量的随机数。比如,我们需要生成10个标准正态分布的随机数,可以这样写:
import numpy as np random_numbers = np.random.randn(10) print(random_numbers)
输出结果如下:
array([ 1.74334205, 2.1157683 , -0.13160341, 1.1204471 , -0.51816891, 0.00562109, 1.72985181, -1.17106584, 2.4836455 , -1.04312114])
可以看到,我们生成了10个随机数。这些随机数的均值应该接近于0,方差应该接近于1。
三、randn函数的参数
randn函数有一个很有用的参数,即随机数的数量。我们可以通过设置这个参数来产生不同数量的随机数。比如,我们需要生成100个标准正态分布的随机数,可以这样写:
import numpy as np random_numbers = np.random.randn(100) print(random_numbers)
输出结果如下:
array([-0.93210958, -0.57975067, 1.89887811, -1.41064129, -1.10781932, -0.05791265, -0.12212742, -0.2285976 , -1.40152902, -0.46608399, 1.31062286, -0.34346808, 1.3471599 , -1.08252479, -0.06443984, ...])
除了随机数的数量之外,randn函数还可以接受其他参数。
四、randn函数的扩展
numpy.random.randn函数是生成标准正态分布的函数之一,还有其他类型的正态分布函数。比如,numpy.random.normal函数可以生成指定均值和标准差的正态分布随机数。
下面是一个例子,生成均值为5,标准差为2的正态分布随机数:
import numpy as np mu, sigma = 5, 2 # mean and standard deviation s = np.random.normal(mu, sigma, 100) print(s)
输出结果如下:
array([ 4.83424758, 5.97303089, 3.90088257, 3.70301126, 8.41641676, 4.83220355, 7.34467049, 4.46491644, 3.60520754, 5.94260971, ...])
还有一些其他的函数,比如numpy.random.randint可以生成指定范围内的整数随机数、numpy.random.random可以生成0到1之间均匀分布的随机数、numpy.random.uniform可以生成指定范围内的均匀分布的随机数等等。
五、总结
在Python中,numpy包提供了一系列优秀的随机数生成函数,这些函数方便、实用。其中,numpy.random.randn是生成标准正态分布随机数的一个很好的选择。我们可以使用这些函数来模拟数据、生成随机数等等,这些应用非常广泛。