通过


width_bucket

返回此表达式的值在计算后将被分类到的存储桶编号。 请注意,输入参数必须遵循下面列出的条件:否则,该方法将返回 null。 支持 Spark Connect。

有关相应的 Databricks SQL 函数,请参阅 width_bucket 函数

Syntax

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|
+----+---+----+---+----------------------------+