The (limits[0])th lowest values are set to the (limits[0])th percentile,
and the (limits[1])th highest values are set to the (1 - limits[1])th
percentile.
Masked values are skipped.

Parameters:

a : sequence

Input array.

limits : {None, tuple of float}, optional

Tuple of the percentages to cut on each side of the array, with respect
to the number of unmasked data, as floats between 0. and 1.
Noting n the number of unmasked data before trimming, the
(n*limits[0])th smallest data and the (n*limits[1])th largest data are
masked, and the total number of unmasked data after trimming
is n*(1.-sum(limits)) The value of one limit can be set to None to
indicate an open interval.

inclusive : {(True, True) tuple}, optional

Tuple indicating whether the number of data being masked on each side
should be rounded (True) or truncated (False).

inplace : {False, True}, optional

Whether to winsorize in place (True) or to use a copy (False)

axis : {None, int}, optional

Axis along which to trim. If None, the whole array is trimmed, but its
shape is maintained.

Notes

This function is applied to reduce the effect of possibly spurious outliers
by limiting the extreme values.