approxQuantile (DataFrame)

计算数据帧的数字列的近似分量。

Syntax

approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)

参数

参数 类型 说明
col str、tuple 或 list 可以是单个列名,也可以是多个列的名称列表。
probabilities 浮点列表或元组 分位概率列表。 每个数字必须是 [0, 1] 范围内的浮点数。 例如,0.0 是最小值,0.5 是中值,1.0 是最大值。
relativeError float 要实现的相对目标精度(>= 0)。 如果设置为零,将计算确切的分量,这可能非常昂贵。 请注意,接受大于 1 的值,但给出的结果与 1 相同。

退货

list:给定概率的近似分位数。 如果输入 col 是字符串,则输出是浮点列表。 如果输入 col 是字符串的列表或元组,则输出也是列表,但其中的每个元素都是浮点列表。

备注

在计算之前,数值列中将忽略 Null 值。 对于仅包含 null 值的列,将返回空列表。

示例

data = [(1,), (2,), (3,), (4,), (5,)]
df = spark.createDataFrame(data, ["values"])
quantiles = df.approxQuantile("values", [0.0, 0.5, 1.0], 0.05)
quantiles
# [1.0, 3.0, 5.0]

data = [(1, 10), (2, 20), (3, 30), (4, 40), (5, 50)]
df = spark.createDataFrame(data, ["col1", "col2"])
quantiles = df.approxQuantile(["col1", "col2"], [0.0, 0.5, 1.0], 0.05)
quantiles
# [[1.0, 3.0, 5.0], [10.0, 30.0, 50.0]]