histogram_numeric(col, nBins)
Описание
Функция histogram_numeric()
вычисляет гистограмму для числовой колонки, используя указанное количество бинов. Возвращает массив пар (значение, частота), где значение - это середина бина, а частота - количество значений в этом бине.
Параметры
col
: Column - числовая колонка для построения гистограммыnBins
: Integer - количество бинов в гистограмме
Возвращаемое значение
Array - массив пар (значение, частота)
Пример использования
from pyspark.sql.functions import histogram_numeric
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("histogram_numeric_example").getOrCreate()
# Создаем DataFrame
data = [
("A", 1),
("A", 2),
("A", 3),
("B", 4),
("B", 5),
("B", 6),
("B", 7)
]
df = spark.createDataFrame(data, ["group", "value"])
# Строим гистограмму
result = df.groupBy("group").agg(
histogram_numeric("value", 3).alias("histogram")
).show(truncate=False)
# Результат:
# +-----+----------------------------------------+
# |group|histogram |
# +-----+----------------------------------------+
# |A |[[2.0, 3]] |
# |B |[[4.0, 2], [5.5, 2], [7.0, 1]] |
# +-----+----------------------------------------+
Примечания
- Функция автоматически определяет границы бинов на основе данных
- Количество бинов должно быть положительным числом
- Для визуализации гистограммы можно использовать дополнительные библиотеки, такие как matplotlib
- Для получения статистических характеристик используйте
approx_percentile()
илиpercentile()