approxQuantile (DataFrame)

DataFrame の数値列の近似分位数を計算します。

構文

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

パラメーター

パラメーター タイプ 説明
col str、タプル、またはリスト 1 つの列名、または複数の列の名前の一覧を指定できます。
probabilities floats のリストまたはタプル 分位確率の一覧。 各数値は、[0, 1] の範囲の浮動小数点数である必要があります。 たとえば、0.0 は最小値、0.5 は中央値、1.0 は最大値です。
relativeError float 達成する相対ターゲット精度 (>= 0)。 0 に設定すると、正確な分位点が計算され、非常にコストがかかる可能性があります。 1 より大きい値は受け入れられますが、結果は 1 と同じであることに注意してください。

返品

list: 指定された確率でのおおよその分位点。 入力 col が文字列の場合、出力は floats のリストになります。 入力 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]]