numpy.
nanvar
计算沿指定轴的方差,同时忽略NaN。
返回数组元素的方差,这是分布扩展的度量。默认情况下,将为展平的数组计算方差,否则将超过指定的轴。
对于所有的NaN切片或零自由度的切片,返回NaN,然后 RuntimeWarning 提高了。
1.8.0 新版功能.
包含所需方差的数字的数组。如果 a 不是数组,尝试转换。
计算方差的轴。默认值是计算展平数组的方差。
用于计算方差的类型。对于整数类型的数组,默认值为 float64 ;对于浮点类型的数组,它与数组类型相同。
float64
用于放置结果的备用输出数组。它必须与预期的输出具有相同的形状,但如果需要,类型是强制转换的。
“三角自由度”:计算中使用的除数是 N - ddof 在哪里 N 表示非NaN元素的数目。默认情况下 ddof 是零。
N - ddof
N
如果设置为“真”,则缩小的轴将保留在结果中,作为尺寸为1的尺寸。使用此选项,结果将正确广播到原始 a .
如果 out 如果为“无”,则返回包含差异的新数组,否则返回对输出数组的引用。如果ddof大于等于一个切片中非NaN元素的数目,或者切片仅包含NaN,则该切片的结果为NaN。
参见
std
标准偏差
mean
平均值
var
方差而不忽略NaN
nanstd
nanmean
笔记
方差是平均值的平方偏差的平均值,即: var = mean(abs(x - x.mean())**2) .
var = mean(abs(x - x.mean())**2)
平均值通常计算为 x.sum() / N 在哪里 N = len(x) . 然而,如果 ddof 是指定的,除数 N - ddof 而是使用。在标准统计实践中, ddof=1 提供假设无限总体方差的无偏估计。 ddof=0 为正态分布变量提供方差的最大似然估计。
x.sum() / N
N = len(x)
ddof=1
ddof=0
注意,对于复数,绝对值是在平方之前取的,所以结果总是实数和非负数。
对于浮点输入,使用与输入相同的精度计算方差。根据输入数据,这可能导致结果不准确,尤其是 float32 (见下例)。使用指定更高精度的累加器 dtype 关键字可以缓解此问题。
float32
dtype
要使此函数处理ndarray的子类,它们必须定义 sum 与克沃格 keepdims
sum
实例
>>> a = np.array([[1, np.nan], [3, 4]]) >>> np.nanvar(a) 1.5555555555555554 >>> np.nanvar(a, axis=0) array([1., 0.]) >>> np.nanvar(a, axis=1) array([0., 0.25]) # may vary