Yüzdebirlik

[0,0, 1,0] içinde değer aralığına sahip verilen yüzdelerde sayısal sütunun expr tam yüzde birlik değerlerini döndürür.

Sözdizimi

from pyspark.sql import functions as sf

sf.percentile(col, percentage, frequency=1)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str Sayısal sütun.
percentage pyspark.sql.Column, float, floats listesi veya floats demet Ondalık yüzde (0,0 ile 1,0 arasında olmalıdır).
frequency pyspark.sql.Column veya int Sıklığı denetleyen pozitif sayısal değişmez değer (varsayılan: 1).

İade

pyspark.sql.Column: sayısal sütunun tam değeri percentile .

Örnekler

Örnek 1: Birden çok yüzdebirlik değerleri hesaplama

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

Örnek 2: Gruba göre yüzdebirliği hesaplama

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...|
+---+-------------------------+