Aller au contenu principal

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

col

str, tuple ou list

Peut être un seul nom de colonne, ou une liste de noms pour plusieurs colonnes.

probabilities

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.

relativeError

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.

parameter

Type

Description

col

str, tuple ou list

Peut être un seul nom de colonne, ou une liste de noms pour plusieurs colonnes.

probabilities

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.

relativeError

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

Python
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]]