当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.sigmaclip用法及代码示例


本文简要介绍 python 语言中 scipy.stats.sigmaclip 的用法。

用法:

scipy.stats.sigmaclip(a, low=4.0, high=4.0)#

执行数组元素的迭代sigma-clipping。

从全样本开始,移除临界范围外的所有元素,即输入数组 c 中满足以下任一条件的所有元素:

c < mean(c) - std(c)*low
c > mean(c) + std(c)*high

使用更新的样本继续迭代,直到没有元素超出(更新的)范围。

参数

a array_like

数据数组,如果不是一维,将被分解。

low 浮点数,可选

sigma 裁剪的下界因子。默认值为 4。

high 浮点数,可选

sigma 裁剪的上限因子。默认值为 4。

返回

clipped ndarray

删除了裁剪元素的输入数组。

lower 浮点数

用于削波的较低阈值。

upper 浮点数

用于削波的上阈值。

例子

>>> import numpy as np
>>> from scipy.stats import sigmaclip
>>> a = np.concatenate((np.linspace(9.5, 10.5, 31),
...                     np.linspace(0, 20, 5)))
>>> fact = 1.5
>>> c, low, upp = sigmaclip(a, fact, fact)
>>> c
array([  9.96666667,  10.        ,  10.03333333,  10.        ])
>>> c.var(), c.std()
(0.00055555555555555165, 0.023570226039551501)
>>> low, c.mean() - fact*c.std(), c.min()
(9.9646446609406727, 9.9646446609406727, 9.9666666666666668)
>>> upp, c.mean() + fact*c.std(), c.max()
(10.035355339059327, 10.035355339059327, 10.033333333333333)
>>> a = np.concatenate((np.linspace(9.5, 10.5, 11),
...                     np.linspace(-100, -50, 3)))
>>> c, low, upp = sigmaclip(a, 1.8, 1.8)
>>> (c == np.linspace(9.5, 10.5, 11)).all()
True

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.sigmaclip。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。