Freigeben über


histogram_numeric

Berechnet ein Histogramm auf numerischem "Col" mithilfe von nb-Bins. Der Rückgabewert ist ein Array von (x,y)-Paaren, die die Mittelpunkte der Histogrammcontainer darstellen. Da der Wert von "nb" erhöht wird, wird die Histogrammannäherung feiner gekörnt, kann aber Artefakte um Ausreißer liefern. In der Praxis scheinen 20-40 Histogramme gut zu funktionieren, wobei mehr Container für schiefe oder kleinere Datasets erforderlich sind. Beachten Sie, dass diese Funktion ein Histogramm mit nicht uniformen Containerbreiten erstellt. Es bietet keine Garantien im Hinblick auf den Mittel-Quadrat-Fehler des Histogramms, aber in der Praxis ist mit den Histogrammen vergleichbar, die von den Statistischen Datenverarbeitungspaketen von R/S-Plus erzeugt werden. Hinweis: Der Ausgabetyp des Felds "x" im Rückgabewert wird aus dem in der Aggregatfunktion verbrauchten Eingabewert weitergegeben.

Syntax

from pyspark.sql import functions as sf

sf.histogram_numeric(col, nBins)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Zielspalte, an der gearbeitet werden soll.
nBins pyspark.sql.Column Anzahl der Histogrammspalten.

Rückkehr

pyspark.sql.Column: ein Histogramm auf numerischem 'Col' mit nb-Bins.

Examples

Beispiel 1: Berechnen eines Histogramms mit 5 Bins

from pyspark.sql import functions as sf
df = spark.range(100, numPartitions=1)
df.select(sf.histogram_numeric('id', sf.lit(5))).show(truncate=False)
+-----------------------------------------------------------+
|histogram_numeric(id, 5)                                   |
+-----------------------------------------------------------+
|[{11, 25.0}, {36, 24.0}, {59, 23.0}, {84, 25.0}, {98, 3.0}]|
+-----------------------------------------------------------+