approxQuantile ( DataFrame )
DataFrameの数値列のおおよその分位数を計算します。
構文
approxQuantile(col: Union[str, List[str], Tuple[str]], probabilities: Union[List[float], Tuple[float]], relativeError: float)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 文字列、タプル、またはリスト | 単一の列名、または複数の列名のリストを指定できます。 |
| 浮動小数点数のリストまたはタプル | 分位確率のリスト。各数値は[0, 1]の範囲内の浮動小数点数でなければなりません。例えば、0.0は最小値、0.5は中央値、1.0は最大値です。 |
| float | 達成すべき相対的な目標精度(≧0)。ゼロに設定すると、正確な分位数はコンピュートとなり、非常にコストがかかる可能性があります。 1より大きい値も受け付けられますが、結果は1の場合と同じです。 |
戻り値
リスト:指定された確率における近似分位数。入力colが文字列の場合、出力は浮動小数点数のリストになります。入力colが文字列のリストまたはタプルである場合、出力もリストになりますが、その各要素は浮動小数点数のリストになります。
注意
数値列では、計算前にNULL値は無視されます。null値のみを含む列の場合、空のリストが返されます。
例
Python
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]]