trimboth#
- scipy.stats.trimboth(a, proportiontocut, axis=0)[source]#
- Slice off a proportion of items from both ends of an array. - Slice off the passed proportion of items from both ends of the passed array (i.e., with proportiontocut = 0.1, slices leftmost 10% and rightmost 10% of scores). The trimmed values are the lowest and highest ones. Slice off less if proportion results in a non-integer slice index (i.e. conservatively slices off proportiontocut). - Parameters:
- aarray_like
- Data to trim. 
- proportiontocutfloat
- Proportion (in range 0-1) of total data set to trim of each end. 
- axisint or None, optional
- Axis along which to trim data. Default is 0. If None, compute over the whole array a. 
 
- Returns:
- outndarray
- Trimmed version of array a. The order of the trimmed content is undefined. 
 
 - See also - Examples - Create an array of 10 values and trim 10% of those values from each end: - >>> import numpy as np >>> from scipy import stats >>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> stats.trimboth(a, 0.1) array([1, 3, 2, 4, 5, 6, 7, 8]) - Note that the elements of the input array are trimmed by value, but the output array is not necessarily sorted. - The proportion to trim is rounded down to the nearest integer. For instance, trimming 25% of the values from each end of an array of 10 values will return an array of 6 values: - >>> b = np.arange(10) >>> stats.trimboth(b, 1/4).shape (6,) - Multidimensional arrays can be trimmed along any axis or across the entire array: - >>> c = [2, 4, 6, 8, 0, 1, 3, 5, 7, 9] >>> d = np.array([a, b, c]) >>> stats.trimboth(d, 0.4, axis=0).shape (1, 10) >>> stats.trimboth(d, 0.4, axis=1).shape (3, 2) >>> stats.trimboth(d, 0.4, axis=None).shape (6,)