NumPy 标准差

NumPy 标准差

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或int的元组(可选)

沿着要计算标准差的轴。默认情况下,计算平坦数组的标准差。如果它是一个int元组,则执行多个轴的标准差,而不是以前的单个轴或所有轴。

dtype:data_type(可选)

此参数定义用于计算标准差的数据类型。默认情况下,integer类型数组的数据类型为float64,而float类型数组的数据类型与数组类型相同。

out:ndarray(可选)

此参数定义结果要放置的备用输出数组。此备用ndarray与预期输出具有相同的形状。但在必要时进行类型转换。

ddof:int(可选)

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

keepdims:bool(可选)

它是可选的,当为true时,会将减少的轴保留为维度,其大小为一个结果。当传递默认值时,它将允许非默认值通过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’。
  • 我们将1行的元素赋值为0.1,将第2行的元素赋值为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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程