numpy.nanstd

numpy.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>)[源代码]

计算沿指定轴的标准偏差,同时忽略NaN。

返回非NaN数组元素的标准偏差(分布扩展的度量)。默认情况下,将为展平的数组计算标准偏差,否则将超过指定的轴。

对于所有的NaN切片或零自由度的切片,返回NaN,然后 RuntimeWarning 提高了。

1.8.0 新版功能.

参数
aarray_like

计算非NaN值的标准偏差。

axisint,int的元组,none,可选

计算标准偏差的轴。默认值是计算展平数组的标准偏差。

dtype可选类型

用于计算标准偏差的类型。对于整数类型的数组,默认值为float64,对于浮点类型的数组,默认值与数组类型相同。

outndarray,可选

用于放置结果的可选输出数组。它必须具有与预期输出相同的形状,但如果需要,将强制转换(计算值的类型)。

ddof可选的

指三角自由度。计算中使用的除数是 N - ddof 在哪里 N 表示非NaN元素的数目。默认情况下 ddof 是零。

keepdims可选的布尔

如果设置为“真”,则缩小的轴将保留在结果中,作为尺寸为1的尺寸。使用此选项,结果将正确广播到原始 a .

如果该值不是默认值,则按原样传递给子类的相关函数。如果这些函数没有 keepdims Kwarg,将引发运行时错误。

返回
standard_deviationndarray,请参见上面的dtype参数。

如果 out 如果为“无”,则返回包含标准偏差的新数组,否则返回对输出数组的引用。如果ddof大于等于一个切片中非NaN元素的数目,或者切片仅包含NaN,则该切片的结果为NaN。

笔记

标准偏差是平均值的平方偏差平均值的平方根: std = sqrt(mean(abs(x - x.mean())**2)) .

平均平方偏差通常计算为 x.sum() / N 在哪里 N = len(x) . 然而,如果 ddof 是指定的,除数 N - ddof 而是使用。在标准统计实践中, ddof=1 提供无限总体方差的无偏估计。 ddof=0 为正态分布变量提供方差的最大似然估计。此函数中计算的标准差是估计方差的平方根,因此即使 ddof=1 它本身不会是对标准偏差的无偏估计。

注意,对于复数, std 在平方之前取绝对值,这样结果总是真实的和非负的。

对于浮点输入, std 使用与输入相同的精度计算。根据输入数据的不同,这可能导致结果不准确,尤其是对于float32(请参见下面的示例)。使用指定更高精度的累加器 dtype 关键字可以缓解此问题。

实例

>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanstd(a)
1.247219128924647
>>> np.nanstd(a, axis=0)
array([1., 0.])
>>> np.nanstd(a, axis=1)
array([0.,  0.5]) # may vary