approxQuantile (DataFrame)
Calcule les quantiles approximatifs des colonnes numériques d'un DataFrame.
Syntaxe
approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)
parameter
parameter | Type | Description |
|---|---|---|
| str, tuple ou list | Peut être un seul nom de colonne, ou une liste de noms pour plusieurs colonnes. |
| liste ou tuple de flottants | une liste de probabilités de quantile. Chaque nombre doit être un flottant dans la plage [0, 1]. Par exemple, 0,0 est le minimum, 0,5 est la médiane, 1,0 est le maximum. |
| Présentation libre | La précision cible relative à atteindre (>= 0). Si la valeur est définie à zéro, les quantiles exacts sont calculés, ce qui pourrait être très coûteux. Notez que les valeurs supérieures à 1 sont acceptées, mais donnent le même résultat que 1. |
Renvoie
liste : les quantiles approximatifs aux probabilités données. Si l'entrée col est une chaîne, la sortie est une liste de nombres à virgule flottante. Si l'entrée col est une liste ou un tuple de chaînes de caractères, la sortie est également une liste, mais chaque élément est une liste de nombres à virgule flottante.
Notes
Les valeurs nulles seront ignorées dans les colonnes numériques avant le calcul. Pour les colonnes ne contenant que des valeurs nulles, une liste vide est renvoyée.
Exemples
data = [(1,), (2,), (3,), (4,), (5,)]
df = spark.createDataFrame(data, ["values"])
quantiles = df.approxQuantile("values", [0.0, 0.5, 1.0], 0.05)
quantiles
# [1.0, 3.0, 5.0]
data = [(1, 10), (2, 20), (3, 30), (4, 40), (5, 50)]
df = spark.createDataFrame(data, ["col1", "col2"])
quantiles = df.approxQuantile(["col1", "col2"], [0.0, 0.5, 1.0], 0.05)
quantiles
# [[1.0, 3.0, 5.0], [10.0, 30.0, 50.0]]