Quantil aproximado (DataFrame)
Calcula os quantis aproximados das colunas numéricas de um DataFrame.
Sintaxe
approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
| string, tupla ou lista | Pode ser o nome de uma única coluna ou uma lista de nomes para várias colunas. |
| lista ou tupla de números de ponto flutuante | uma lista de probabilidades quantílicas. Cada número deve ser um número de ponto flutuante no intervalo [0, 1]. Por exemplo, 0,0 é o mínimo, 0,5 é a mediana e 1,0 é o máximo. |
| Float | A precisão relativa alvo a ser alcançada (>= 0). Se definido como zero, os quantis exatos são calculados, o que pode ser muito custoso. Note que valores maiores que 1 são aceitos, mas produzem o mesmo resultado que 1. |
Devoluções
Lista: os quantis aproximados nas probabilidades dadas. Se a entrada col for uma string, a saída será uma lista de números de ponto flutuante. Se a entrada col for uma lista ou tupla de strings, a saída também será uma lista, mas cada elemento nela será uma lista de floats.
Notas
Valores nulos serão ignorados em colunas numéricas antes do cálculo. Para colunas que contêm apenas valores nulos, uma lista vazia é retornada.
Exemplos
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]]