当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python NumPy std方法用法及代码示例

NumPy 的 std(~) 方法计算输入数组中值的标准差。标准差使用以下公式计算:

其中,

  • 是给定数组的大小(即样本大小)

  • 是 NumPy 数组中第 索引的值

  • 是样本平均值

注意

std(~) 方法还可以计算标准差的无偏估计。我们通过在参数中设置 ddof=1 来实现这一点,我们将在后面的示例中看到。

参数

1. a | array-like

输入数组。

2. axis | inttuple | optional

计算标准差所沿的轴。对于二维数组,允许的值如下:

意义

0

标准差将按列计算

1

标准差将按行计算

None

标准差将在展平数组上计算

默认情况下,axis=None

3. dtype | stringtype | optional

用于计算标准差的类型。如果输入数组的类型为 int ,则将使用 float32 。如果输入数组是其他数值类型,则将使用其类型。

4. ddof | int | optional

自由度δ。这可以用来修改前面的分母:

默认情况下,ddof=0

返回值

int 表示所提供值的标准偏差。

例子

一维数组的标准差

np.std([1,2,3,4])



1.118

计算样本标准差

要计算样本标准差,请设置 ddof=1

np.std([1,2,3,4], ddof=1)



1.290

计算总体标准差

要计算总体标准差,请省略 ddof 参数或显式设置 ddof=0

np.std([1,2,3,4])   # By default, ddof=0



1.118

二维数组的标准差

整个数组

如果不指定 axis 参数,NumPy 只会将 NumPy 数组视为展平数组。

np.std([[1,2],[3,4]])



1.118

此代码与 np.std([1,2,3,4]) 基本相同。

按列

要按列计算标准差,请在参数中指定axis=0

np.std([[1,4],[2,6], [3,8]], axis=0)



array([0.81649658, 1.63299316])

在这里,我们计算 [1,2,3](即第一列)和 [4,6,8](即第二列)的标准差。

逐行

要按列计算标准差,请在参数中指定axis=1

np.std([[1,4],[2,6], [3,8]], axis=1)



array([1.5, 2. , 2.5])

在这里,我们计算三个标准差:第一行(即 [1,4] )、第二行(即 [2,6] )和第三行(即 [3,8] )。

警告

有时数字类型 float32 可能不够准确,无法满足您的需求。如果您的应用程序需要更准确的数字,请在参数中设置dtype=np.float64。这将占用更多内存,但会提供更准确的结果。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | std method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。