Skip to content

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