histogram_numeric
Calcule un histogramme sur la colonne numérique « col » en utilisant nb compartiments. La valeur de retour est un tableau de paires (x,y) représentant les centres des compartiments de l'histogramme. À mesure que la valeur de « nb » est augmentée, l'approximation de l'histogramme devient plus fine, mais peut produire des artefacts autour des valeurs aberrantes. En pratique, 20 à 40 compartiments d'histogramme semblent bien fonctionner, un plus grand nombre de compartiments étant nécessaire pour les datasets asymétriques ou plus petits. Notez que cette fonction crée un histogramme avec des largeurs de compartiments non uniformes. Il n'offre aucune garantie en termes d'erreur quadratique moyenne de l'histogramme, mais en pratique, il est comparable aux histogrammes produits par les packages de calcul statistique R/S-Plus. Note : le type de sortie du champ « x » dans la valeur de retour est propagé à partir de la valeur d'entrée consommée dans la fonction d'agrégation.
Syntaxe
from pyspark.sql import functions as sf
sf.histogram_numeric(col, nBins)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle travailler. |
|
| Nombre de colonnes d'histogramme. |
Renvoie
pyspark.sql.Column: un histogramme sur la colonne numérique « col » utilisant nb bins.
Exemples
Exemple 1 : Compute l'histogramme avec 5 compartiments
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}]|
+-----------------------------------------------------------+