Поделиться через


width_bucket

Возвращает номер сегмента, в который значение этого выражения будет попадать после вычисления. Обратите внимание, что входные аргументы должны соответствовать приведенным ниже условиям. в противном случае метод вернет значение NULL. Поддерживает Spark Connect.

Для соответствующей функции Databricks SQL смотрите функцию width_bucket.

Синтаксис

from pyspark.databricks.sql import functions as dbf

dbf.width_bucket(v=<v>, min=<min>, max=<max>, numBucket=<numBucket>)

Параметры

Параметр Тип Description
v pyspark.sql.Column or column name значение для вычисления числа контейнера в гистограмме
min pyspark.sql.Column or column name минимальное значение гистограммы
max pyspark.sql.Column or column name максимальное значение гистограммы
numBucket pyspark.sql.Column, column name or int количество контейнеров

Возвраты

pyspark.sql.Column: число контейнера, в которое значение будет падать после вычисления

Примеры

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([
    (5.3, 0.2, 10.6, 5),
    (-2.1, 1.3, 3.4, 3),
    (8.1, 0.0, 5.7, 4),
    (-0.9, 5.2, 0.5, 2)],
    ['v', 'min', 'max', 'n'])
df.select("*", dbf.width_bucket('v', 'min', 'max', 'n')).show()
+----+---+----+---+----------------------------+
|   v|min| max|  n|width_bucket(v, min, max, n)|
+----+---+----+---+----------------------------+
| 5.3|0.2|10.6|  5|                           3|
|-2.1|1.3| 3.4|  3|                           0|
| 8.1|0.0| 5.7|  4|                           5|
|-0.9|5.2| 0.5|  2|                           3|
+----+---+----+---+----------------------------+