trim1#
- scipy.stats.trim1(a, proportiontocut, tail='right', axis=0)[Quelle]#
Schneidet einen Anteil von EINEM Ende der übergebenen Array-Verteilung ab.
Wenn proportiontocut = 0,1 ist, werden die "linksesten" oder "rechtsesten" 10% der Werte abgeschnitten. Die niedrigsten oder höchsten Werte werden (je nach tail) abgeschnitten. Weniger wird abgeschnitten, wenn der Anteil zu einem nicht-ganzzahligen Schnittindex führt (d.h. konservativ wird weniger als proportiontocut abgeschnitten).
- Parameter:
- aarray_like
Eingabearray.
- proportiontocutfloat
Anteil, der von der 'linken' oder 'rechten' Seite der Verteilung abgeschnitten werden soll.
- tail{‘left’, ‘right’}, optional
Standardmäßig 'right'.
- axisint oder None, optional
Achse, entlang der die Daten getrimmt werden sollen. Standard ist 0. Wenn None, wird über das gesamte Array a berechnet.
- Rückgabe:
- trim1ndarray
Getrimmte Version des Arrays a. Die Reihenfolge des getrimmten Inhalts ist undefiniert.
Beispiele
Erstellen Sie ein Array mit 10 Werten und trimmen Sie 20 % seiner niedrigsten Werte
>>> 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])
Beachten Sie, dass die Elemente des Eingabearrays nach Wert getrimmt werden, das Ausgabearray jedoch nicht unbedingt sortiert ist.
Der zu trimmende Anteil wird auf die nächste ganze Zahl abgerundet. Zum Beispiel wird beim Trimmen von 25 % der Werte aus einem Array mit 10 Werten ein Array mit 8 Werten zurückgegeben.
>>> b = np.arange(10) >>> stats.trim1(b, 1/4).shape (8,)
Mehrdimensionale Arrays können entlang jeder Achse oder über das gesamte Array getrimmt werden
>>> 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,)