scipy.stats.

trimboth#

scipy.stats.trimboth(a, proportiontocut, axis=0)[Quelle]#

Schneidet einen Anteil von Elementen von beiden Enden eines Arrays ab.

Schneidet den angegebenen Anteil von Elementen von beiden Enden des übergebenen Arrays ab (d. h. bei proportiontocut = 0,1 werden die untersten 10% **und** die obersten 10% der Werte geschnitten). Die gestutzten Werte sind die niedrigsten und höchsten. Schneidet weniger ab, wenn der Anteil zu einem nicht-ganzzahligen Schnittindex führt (d. h. schneidet proportiontocut konservativ ab).

Parameter:
aarray_like

Zu beschneidende Daten.

proportiontocutfloat

Anteil (im Bereich 0-1) des gesamten Datensatzes, der von jedem Ende abgeschnitten wird.

axisint oder None, optional

Achse, entlang der die Daten gestutzt werden. Standard ist 0. Wenn None, wird über das gesamte Array a berechnet.

Rückgabe:
outndarray

Gestutzte Version des Arrays a. Die Reihenfolge des gestutzten Inhalts ist undefiniert.

Siehe auch

trim_mean

Beispiele

Erstellt ein Array mit 10 Werten und schneidet 10 % dieser Werte von jedem Ende ab

>>> 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])

Beachten Sie, dass die Elemente des Eingabearrays nach Wert beschnitten werden, aber das Ausgabearray nicht notwendigerweise sortiert ist.

Der zu schneidende Anteil wird auf die nächste ganze Zahl abgerundet. Zum Beispiel wird beim Beschneiden von 25 % der Werte von jedem Ende eines Arrays mit 10 Werten ein Array mit 6 Werten zurückgegeben

>>> b = np.arange(10)
>>> stats.trimboth(b, 1/4).shape
(6,)

Mehrdimensionale Arrays können entlang jeder Achse oder über das gesamte Array gestutzt werden

>>> 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,)