scipy.stats.
trim1#
- scipy.stats.trim1(a, proportiontocut, tail='right', axis=0)[source]#
從傳遞的陣列分佈的「一端」切除一部分比例。
如果 proportiontocut = 0.1,則切除「最左邊」或「最右邊」10% 的分數。最低或最高值會被修剪(取決於尾部)。如果比例導致非整數切片索引,則切除較少部分(即保守地切除 proportiontocut)。
- 參數:
- aarray_like
輸入陣列。
- proportiontocutfloat
要從分佈的「左側」或「右側」切除的比例。
- tail{‘left’, ‘right’}, 選項
預設為「right」。
- axisint 或 None,選項
沿著要修剪資料的軸。預設值為 0。如果為 None,則在整個陣列 a 上計算。
- 回傳值:
- trim1ndarray
陣列 a 的修剪版本。修剪內容的順序未定義。
範例
建立一個包含 10 個值的陣列,並修剪其 20% 的最低值
>>> import numpy as np >>> from scipy import stats >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> stats.trim1(a, 0.2, 'left') array([2, 4, 3, 5, 6, 7, 8, 9])
請注意,輸入陣列的元素是依值修剪的,但輸出陣列不一定會排序。
要修剪的比例會四捨五入到最接近的整數。例如,從包含 10 個值的陣列中修剪 25% 的值將會回傳一個包含 8 個值的陣列
>>> b = np.arange(10) >>> stats.trim1(b, 1/4).shape (8,)
可以沿著任何軸或跨整個陣列修剪多維陣列
>>> c = [2, 4, 6, 8, 0, 1, 3, 5, 7, 9] >>> d = np.array([a, b, c]) >>> stats.trim1(d, 0.8, axis=0).shape (1, 10) >>> stats.trim1(d, 0.8, axis=1).shape (3, 2) >>> stats.trim1(d, 0.8, axis=None).shape (6,)