本文簡要介紹 python 語言中 scipy.stats.iqr
的用法。
用法:
scipy.stats.iqr(x, axis=None, rng=(25, 75), scale=1.0, nan_policy='propagate', interpolation='linear', keepdims=False)#
沿指定軸計算數據的四分位數範圍。
四分位距 (IQR) 是數據的第 75 個百分位和第 25 個百分位之間的差異。它是一種類似於標準偏差或方差的離散度度量,但對異常值更加穩健[2]。
rng
參數允許此函數計算除實際 IQR 之外的其他百分位數範圍。例如,設置rng=(0, 100)
等效於numpy.ptp
。空數組的 IQR 是 np.nan。
- x: array_like
可以轉換為數組的輸入數組或對象。
- axis: int 或無,默認:無
如果是 int,則計算統計量的輸入軸。輸入的每個axis-slice(例如行)的統計信息將出現在輸出的相應元素中。如果
None
,輸入將在計算統計數據之前被分解。- rng: 包含 [0,100] 範圍內的浮點數的二元素序列可選
計算範圍的百分位數。每個必須介於 0 和 100 之間,包括 0 和 100。默認值為真正的 IQR:
(25, 75)
。元素的順序並不重要。- scale: 實數的標量或 str 或 數組,可選
比例數值將從最終結果中除掉。還可以識別以下字符串值:
‘normal’ : Scale by
.
默認值為 1.0。類數組規模真實數據類型也是允許的,隻要它正確地廣播到輸出,這樣
out / scale
是一個有效的操作。輸出維度取決於輸入數組,x, 這軸參數,以及保持昏暗旗幟。- nan_policy: {‘propagate’, ‘omit’, ‘raise’}
定義如何處理輸入 NaN。
propagate
:如果計算統計數據的軸切片(例如行)中存在NaN,則輸出的相應條目將為 NaN。omit
: 計算時將省略NaNs。如果計算統計數據的軸切片中剩餘的數據不足,則輸出的相應條目將為 NaN。raise
:如果存在 NaN,則會引發ValueError
。
- interpolation: str,可選
指定當百分位邊界位於兩個數據點
i
和j
之間時要使用的插值方法。以下選項可用(默認為‘linear’):‘linear’:
i + (j - i)*fraction
, wherefraction
is the fractional part of the index surrounded byi
andj
.‘lower’:
i
.‘higher’:
j
.‘nearest’:
i
orj
whichever is nearest.‘midpoint’:
(i + j)/2
.
對於NumPy >= 1.22.0,
numpy.percentile
的method
關鍵字提供的附加選項也有效。- keepdims: 布爾值,默認值:假
如果將其設置為 True,則縮小的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對輸入數組正確廣播。
- iqr: 標量或 ndarray
如果
axis=None
,則返回一個標量。如果輸入包含精度小於np.float64
的整數或浮點數,則輸出數據類型為np.float64
。否則,輸出數據類型與輸入數據類型相同。
參數 ::
返回 ::
注意:
從 SciPy 1.9 開始,
np.matrix
輸入(不建議用於新代碼)在執行計算之前轉換為np.ndarray
。在這種情況下,輸出將是標量或適當形狀的np.ndarray
而不是 2Dnp.matrix
。同樣,雖然屏蔽數組的屏蔽元素被忽略,但輸出將是標量或np.ndarray
而不是帶有mask=False
的屏蔽數組。參考:
[1]“Interquartile range” https://en.wikipedia.org/wiki/Interquartile_range
[3]“Quantile” https://en.wikipedia.org/wiki/Quantile
例子:
>>> import numpy as np >>> from scipy.stats import iqr >>> x = np.array([[10, 7, 4], [3, 2, 1]]) >>> x array([[10, 7, 4], [ 3, 2, 1]]) >>> iqr(x) 4.0 >>> iqr(x, axis=0) array([ 3.5, 2.5, 1.5]) >>> iqr(x, axis=1) array([ 3., 1.]) >>> iqr(x, axis=1, keepdims=True) array([[ 3.], [ 1.]])
相關用法
- Python SciPy stats.invwishart用法及代碼示例
- Python SciPy stats.itemfreq用法及代碼示例
- Python SciPy stats.invgamma用法及代碼示例
- Python SciPy stats.invgauss用法及代碼示例
- Python SciPy stats.invweibull用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.levy_stable用法及代碼示例
- Python SciPy stats.page_trend_test用法及代碼示例
- Python SciPy stats.exponpow用法及代碼示例
- Python SciPy stats.gumbel_l用法及代碼示例
- Python SciPy stats.chisquare用法及代碼示例
- Python SciPy stats.semicircular用法及代碼示例
- Python SciPy stats.gzscore用法及代碼示例
- Python SciPy stats.gompertz用法及代碼示例
- Python SciPy stats.normaltest用法及代碼示例
- Python SciPy stats.dirichlet_multinomial用法及代碼示例
- Python SciPy stats.genlogistic用法及代碼示例
- Python SciPy stats.skellam用法及代碼示例
- Python SciPy stats.wilcoxon用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.iqr。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。