Condividi tramite


histogram_numeric

Calcola un istogramma in 'col' numerico usando bin nb. Il valore restituito è una matrice di coppie (x,y) che rappresentano i centri dei bin dell'istogramma. Man mano che il valore di 'nb' è aumentato, l'approssimazione dell'istogramma diventa più granulare, ma può produrre artefatti intorno agli outlier. In pratica, 20-40 bin istogrammi sembrano funzionare correttamente, con più bin necessari per set di dati asimmetrici o più piccoli. Si noti che questa funzione crea un istogramma con larghezze bin non uniformi. Non offre garanzie in termini di errore medio quadrato dell'istogramma, ma in pratica è paragonabile agli istogrammi prodotti dai pacchetti di calcolo statistici R/S-Plus. Nota: il tipo di output del campo 'x' nel valore restituito viene propagato dal valore di input utilizzato nella funzione di aggregazione.

Sintassi

from pyspark.sql import functions as sf

sf.histogram_numeric(col, nBins)

Parametri

Parametro TIPO Description
col pyspark.sql.Column o str Colonna di destinazione su cui lavorare.
nBins pyspark.sql.Column Numero di colonne istogramma.

Restituzioni

pyspark.sql.Column: istogramma su 'col' numerico usando bin nb.

Esempi

Esempio 1: Calcolare l'istogramma con 5 bin

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}]|
+-----------------------------------------------------------+