approxQuantile (Datový rámec)

Vypočítá přibližné kvantové hodnoty číselných sloupců datového rámce.

Syntaxe

approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)

Parametry

Parameter Typ Description
col str, řazená kolekce členů nebo seznam Může to být název jednoho sloupce nebo seznam názvů pro více sloupců.
probabilities seznam nebo řazená kolekce členů s plovoucí řazenou kolekcí a list of quantile probabilities. Každé číslo musí být plovoucí v rozsahu [0, 1]. Například 0,0 je minimum, 0,5 je medián, 1,0 je maximum.
relativeError float Relativní cílová přesnost k dosažení (>= 0). Pokud je hodnota nastavená na nulu, vypočítá se přesné quantily, což může být velmi nákladné. Všimněte si, že hodnoty větší než 1 jsou přijímány, ale poskytují stejný výsledek jako 1.

Návraty

list: přibližné kvantily na daných pravděpodobnostech. Pokud je vstupem col řetězec, je výstup seznamem plovoucích hodnot. Pokud je vstup col seznamem nebo řazenou kolekcí řetězců, výstup je také seznam, ale každý prvek v něm je seznam floats.

Poznámky

Hodnoty null budou před výpočtem ignorovány v číselných sloupcích. Pro sloupce obsahující pouze hodnoty null se vrátí prázdný seznam.

Příklady

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