通过


histogram_numeric

使用 nb bin 计算数值“col”的直方图。返回值是表示直方图箱中心(x,y)对的数组。随着“nb”的值的增加,直方图近似得到更精细的粒度,但可能会在离群值周围产生项目。 实际上,20-40 直方图箱似乎效果良好,倾斜或较小的数据集需要更多的箱。 请注意,此函数创建具有非统一箱宽度的直方图。 它在直方图的平均值误差方面没有保证,但实际上与 R/S-Plus 统计计算包生成的直方图相当。 注意:返回值中“x”字段的输出类型是从聚合函数使用的输入值传播的。

Syntax

from pyspark.sql import functions as sf

sf.histogram_numeric(col, nBins)

参数

参数 类型 Description
col pyspark.sql.Column 或 str 要处理的目标列。
nBins pyspark.sql.Column 直方图列数。

退货

pyspark.sql.Column:使用 nb bin 对数字“col”的直方图。

例子

示例 1:使用 5 个箱计算直方图

from pyspark.sql import functions as sf
df = spark.range(100, numPartitions=1)
df.select(sf.histogram_numeric('id', sf.lit(5))).show(truncate=False)
+-----------------------------------------------------------+
|histogram_numeric(id, 5)                                   |
+-----------------------------------------------------------+
|[{11, 25.0}, {36, 24.0}, {59, 23.0}, {84, 25.0}, {98, 3.0}]|
+-----------------------------------------------------------+