Python的numpy模块提供了一个名为numpy.std()的函数,用于沿指定轴计算标准差。这个函数返回数组元素的标准差。从平均平方偏差(从均值计算得出)的平方根,被称为标准差。默认情况下,标准差是针对展平的数组计算的。通过x.sum()/N,通常计算平均平方偏差,其中N=len(x)。

标准差 = sqrt(mean(abs(x-x.mean( ))**2

语法:

numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<**class** numpy._globals._NoValue>)

参数

a: array_like

这个参数定义了要计算标准差的源数组的元素。

axis: None, int, or tuple of ints(可选)

这是沿着哪个轴计算标准差的轴。默认情况下,计算展平数组的标准差。如果它是int类型的元组,则会在多个轴上执行标准差,而不是像之前一样在单个轴或所有轴上执行。

dtype: data_type(可选)

这个参数定义了用于计算标准差的数据类型。对于整数类型数组,默认情况下数据类型是float64,对于浮点类型数组,数据类型与数组类型相同。

out: ndarray(可选)

这个参数定义了替代输出数组,用于存放结果。这个替代的ndarray与预期输出具有相同的形状。但是在必要时进行类型转换。

ddof: int(可选)

这个参数定义了自由度。在计算中使用N-ddof作为除数,其中N是元素的数量。默认情况下,这个参数的值设置为0。

keepdims: bool(可选)

这是一个可选的参数,当值为True时,会将减小的轴保留为结果中大小为1的维度。当它传递默认值时,它将允许通过ndarray的子类的mean方法传递非默认值,但不会通过keepdims传递。此外,输出或结果将正确地广播到输入数组。

返回值

这个函数将返回一个包含标准差的新数组。如果我们没有将'out'参数设置为None,它将返回输出数组的引用。

示例 1:

a=np.array([[1,4,7,10],[2,5,8,11]])  
b=np.std(a)  
b  

输出:

3.391164991562634

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用array()函数创建了一个数组'a'。
  • 我们声明了变量'b'并将std()函数的返回值赋值给它。
  • 我们在函数中传递了数组'a'。
  • 最后,我们尝试打印变量'b'

输出显示了包含标准差的数组。

示例 2:

a=np.array([[1,4,7,10],[2,5,8,11]])  
b=np.std(a, axis=0)  
b  

输出:

array([0.5, 0.5, 0.5, 0.5])

示例 3:

a=np.array([[1,4,7,10],[2,5,8,11]])  
b=np.std(a, axis=1)  
b  

输出:

array([3.35410197, 3.35410197])

示例 4:

import numpy as np  
a = np.zeros((2, 512*512), dtype=np.float32)  
a[1, :] = 1.0  
a[0, :] = 0.1  
b=np.std(a)  
b  

在上面的代码中

  • 我们使用别名np导入了numpy模块。
  • 我们使用np.zeros()函数创建了一个数据类型为np.float32的数组'a'。
  • 我们将第一行的元素赋值为0.1,将第二行的元素赋值为1.0。
  • 我们在函数中传递了数组'a'。
  • 最后,我们尝试打印变量'b'

输出显示了标准差,可能不准确。

输出:

0.45000008

示例 5:

import numpy as np  
a = np.zeros((2, 512*512), dtype=np.float32)  
a[1, :] = 1.0  
a[0, :] = 0.1  
b=np.std(a ,dtype=np.float64))  
b  

输出:

0.4499999992549418

标签: NumPy, NumPy教程, NumPy学习, NumPy安装, NumPy入门教程, NumPy进阶教程, NumPy指南, NumPy学习指南, NumPy库, NumPy库学习, NumPy库入门, NumPy库教程, NumPy应用, NumPy库进阶