計算資料框架數值欄位的近似分位數。
語法
approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)
參數
| 參數 | 類型 | 說明 |
|---|---|---|
col |
str、元組或列表 | 可以是單一欄位名稱,或是多欄位名稱清單。 |
probabilities |
float 列表或元組 | 分位數機率列表。 每個數字必須是範圍 [0, 1] 的浮點數。 例如,0.0 是最小值,0.5 是中位數,1.0 是最大值。 |
relativeError |
float | 相對目標精度(>= 0)。 若設為零,則計算精確分位數,這可能非常昂貴。 請注意,大於1的值是被接受的,但結果與1相同。 |
退貨
列表:在給定機率下的近似分位數。 如果輸入 col 是字串,輸出則是一個浮點點數的清單。 如果輸入 col 是字串的清單或元組,輸出也是清單,但每個元素都是浮點的清單。
Notes
在計算前,數值欄位中的空值會被忽略。 對於僅包含空值的欄位,則會回傳一個空清單。
Examples
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]]