Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí přesné percentily číselného sloupce expr s daným procentem s rozsahem hodnot v [0,0, 1,0].
Syntaxe
from pyspark.sql import functions as sf
sf.percentile(col, percentage, frequency=1)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Číselný sloupec. |
percentage |
pyspark.sql.Column, float, list of floats or tuple of floats |
Procento v desítkové soustavě (musí být v rozmezí od 0,0 do 1,0). |
frequency |
pyspark.sql.Column nebo int |
Kladný číselný literál, který řídí frekvenci (výchozí hodnota: 1). |
Návraty
pyspark.sql.Column: přesná percentile hodnota číselného sloupce.
Examples
Příklad 1: Výpočet více percentilů
from pyspark.sql import functions as sf
key = (sf.col("id") % 3).alias("key")
value = (sf.randn(42) + key * 10).alias("value")
df = spark.range(0, 1000, 1, 1).select(key, value)
df.select(
sf.percentile("value", [0.25, 0.5, 0.75], sf.lit(1))
).show(truncate=False)
+--------------------------------------------------------+
|percentile(value, array(0.25, 0.5, 0.75), 1) |
+--------------------------------------------------------+
|[0.7441991494121..., 9.9900713756..., 19.33740203080...]|
+--------------------------------------------------------+
Příklad 2: Výpočet percentilu podle skupiny
from pyspark.sql import functions as sf
key = (sf.col("id") % 3).alias("key")
value = (sf.randn(42) + key * 10).alias("value")
df = spark.range(0, 1000, 1, 1).select(key, value)
df.groupBy("key").agg(
sf.percentile("value", sf.lit(0.5), sf.lit(1))
).sort("key").show()
+---+-------------------------+
|key|percentile(value, 0.5, 1)|
+---+-------------------------+
| 0| -0.03449962216667...|
| 1| 9.990389751837...|
| 2| 19.967859769284...|
+---+-------------------------+