percentile(col, percentage)
Описание
Функция percentile() возвращает точный процентиль для числового столбца. Это агрегатная функция, которая должна использоваться с groupBy().
Параметры
col: Column - числовой столбец для вычисления процентиляpercentage: Double - значение процентиля от 0 до 1
Возвращаемое значение
Double - значение процентиля
Пример использования
from pyspark.sql.functions import percentile
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("percentile_example").getOrCreate()
# Создаем DataFrame
data = [
("A", 1),
("A", 2),
("A", 3),
("B", 4),
("B", 5),
("B", 6),
("B", None)
]
df = spark.createDataFrame(data, ["group", "value"])
# Вычисляем 50-й процентиль (медиану)
result = df.groupBy("group").agg(
percentile("value", 0.5).alias("median")
).show()
# Результат:
# +-----+------+
# |group|median|
# +-----+------+
# |A |2.0 |
# |B |5.0 |
# +-----+------+
Примечания
- NULL значения игнорируются при вычислении процентиля
- Для приближенного вычисления процентиля используйте
approx_percentile() - Для вычисления медианы используйте
median() - Для вычисления среднего значения используйте
avg()