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()