cupyx.scipy.stats.trim_mean#

cupyx.scipy.stats.trim_mean(a, proportiontocut, axis=0)[source]#

Return mean of array after trimming distribution from both tails.

If proportiontocut = 0.1, slices off ‘leftmost’ and ‘rightmost’ 10% of scores. The input is sorted before slicing. Slices off less if proportion results in a non-integer slice index (i.e., conservatively slices off proportiontocut ).

Parameters:
  • a (cupy.ndarray) – Input array.

  • proportiontocut (float) – Fraction to cut off of both tails of the distribution.

  • axis (int or None, optional) – Axis along which the trimmed means are computed. Default is 0. If None, compute over the whole array a.

Returns:

trim_mean – Mean of trimmed array.

Return type:

ndarray

See also

trimboth

tmean

Compute the trimmed mean ignoring values outside given limits.

Examples

>>> import cupy as cp
>>> from cupyx.scipy import stats
>>> x = cp.arange(20)
>>> stats.trim_mean(x, 0.1)
array(9.5)
>>> x2 = x.reshape(5, 4)
>>> x2
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19]])
>>> stats.trim_mean(x2, 0.25)
array([ 8.,  9., 10., 11.])
>>> stats.trim_mean(x2, 0.25, axis=1)
array([ 1.5,  5.5,  9.5, 13.5, 17.5])