approx_percentile(col, percentage[, accuracy])
Описание
Функция approx_percentile() возвращает приблизительный процентиль числового столбца. Процентиль - это значение, ниже которого находится указанный процент данных.
Параметры
col: Column - числовой столбец для расчета процентиляpercentage: double - процент (от 0.0 до 1.0)accuracy: int (опционально) - точность расчета (по умолчанию 10000)
Возвращаемое значение
Double - приблизительный процентиль
Пример использования
from pyspark.sql.functions import approx_percentile
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("approx_percentile_example").getOrCreate()
# Создаем DataFrame
data = [(i,) for i in range(1, 101)]
df = spark.createDataFrame(data, ["value"])
# Используем approx_percentile для разных процентилей
result = df.agg(
    approx_percentile("value", 0.25).alias("25th_percentile"),
    approx_percentile("value", 0.5).alias("median"),
    approx_percentile("value", 0.75).alias("75th_percentile"),
    approx_percentile("value", 0.9, 1000).alias("90th_percentile_low_accuracy"),
    approx_percentile("value", 0.9, 100000).alias("90th_percentile_high_accuracy")
).show()
# Результат:
# +---------------+-------+---------------+------------------------+-------------------------+
# |25th_percentile|median |75th_percentile|90th_percentile_low_accuracy|90th_percentile_high_accuracy|
# +---------------+-------+---------------+------------------------+-------------------------+
# |25.0           |50.0   |75.0          |90.0                    |90.0                      |
# +---------------+-------+---------------+------------------------+-------------------------+
 Примечания
- Чем выше значение accuracy, тем точнее результат, но больше потребление памяти
 - Для точного расчета процентиля используйте 
percentile() - Для расчета медианы можно использовать 
approx_percentile(col, 0.5) - Для расчета квартилей используйте значения 0.25, 0.5 и 0.75