當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。