您的位置:

Python中的randn函数

一、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是生成标准正态分布随机数的一个很好的选择。我们可以使用这些函数来模拟数据、生成随机数等等,这些应用非常广泛。