Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sıralı percentile değerlerdeki en küçük değer olan sayısal sütunun col yaklaşık col değerini döndürür (en azdan en büyüğe doğru sıralanır), bu değerden percentagecol daha fazla değerden küçük veya bu değere eşit değildir.
Sözdizimi
from pyspark.sql import functions as sf
sf.approx_percentile(col, percentage, accuracy=10000)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
col |
pyspark.sql.Column veya str |
Giriş sütunu. |
percentage |
pyspark.sql.Column, float, floats listesi veya floats demet |
Ondalık yüzde (0,0 ile 1,0 arasında olmalıdır). Yüzde bir dizi olduğunda, her değer 0,0 ile 1,0 arasında olmalıdır. |
accuracy |
pyspark.sql.Column veya int |
Bellek maliyetinde yaklaşık doğruluğu denetleyen pozitif sayısal değişmez değer. Daha yüksek değer daha iyi doğruluk sağlar. 1.0/doğruluk göreli hatadır (varsayılan: 10000). |
İade
pyspark.sql.Column: sayısal sütunun yaklaşık percentile değeri.
Örnekler
Örnek 1: Yaklaşık 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.approx_percentile("value", [0.25, 0.5, 0.75], 1000000)
).show(truncate=False)
+----------------------------------------------------------+
|approx_percentile(value, array(0.25, 0.5, 0.75), 1000000) |
+----------------------------------------------------------+
|[0.7264430125286..., 9.98975299938..., 19.335304783039...]|
+----------------------------------------------------------+
Örnek 2: Gruba göre yaklaşık yüzdebirlik değeri 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.approx_percentile("value", sf.lit(0.5), sf.lit(1000000))
).sort("key").show()
+---+--------------------------------------+
|key|approx_percentile(value, 0.5, 1000000)|
+---+--------------------------------------+
| 0| -0.03519435193070...|
| 1| 9.990389751837...|
| 2| 19.967859769284...|
+---+--------------------------------------+