📜  numpy 标准差 - Python (1)

📅  最后修改于: 2023-12-03 14:44:48.904000             🧑  作者: Mango

numpy标准差 - Python

Numpy是Python中用于科学计算的一个重要的开源库,提供了高性能的支持大数组的数学函数。其中之一便是标准差函数,本文将为您介绍numpy中标准差函数的使用方法及其参数。

标准差的定义

标准差是用来衡量一组数据的离散程度的。标准差越小,表示数据越集中,反之则越分散。标准差的计算公式为:

$ \sigma = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(x_i - \mu)^2} $

其中 $N$ 是样本数,$x_i$ 是第 $i$ 个数据点,$\mu$ 是总体均值。

numpy中的标准差函数

numpy中的标准差函数为numpy.std(),用于计算数组的标准差。

语法
numpy.std(a, axis=None, dtype=None, ddof=0, keepdims=<no value>)

其中,

  • a :要计算标准差的数组,可以是一维或多维数组。
  • axis :计算标准差的轴,默认是计算所有元素的标准差。
  • dtype :输出数据类型,默认是None,即与a相同的类型。
  • ddof :自由度的参数,表示在计算方差的时候,分母要减去的值, 默认值为0。
  • keepdims :是否保持原数组的维度大小,默认为False,即降维处理。
示例
import numpy as np

# 一维数组的标准差
a = np.array([1, 2, 3, 4, 5])
print(np.std(a))
# 输出结果:1.4142135623730951

# 多维数组的标准差
b = np.array([[1, 2, 3], [4, 5, 6]])
print(np.std(b))
# 输出结果:1.707825127659933

# 计算每一列的标准差
print(np.std(b, axis=0))
# 输出结果:[1.5 1.5 1.5]

# 计算每一行的标准差
print(np.std(b, axis=1))
# 输出结果:[0.81649658 0.81649658]
注意事项

在进行标准差计算时,需要注意以下几点:

  1. numpy中的标准差函数默认使用样本标准差,而不是总体标准差,所以需要在计算总体标准差时,将参数ddof设置为1。
  2. 如果计算的是二维数组的标准差,那么参数axis的取值会影响到计算结果,需要根据需要进行指定。
  3. numpy中的标准差函数返回的结果不是一个标量,而是一个数组,因此需要注意数据的类型及形状。