メインコンテンツまでスキップ

sampleBy (DataFrame)

各層で指定された割合に基づいて、非復元抽出による層別標本を返します。

構文

sampleBy(col: "ColumnOrName", fractions: Dict[Any, float], seed: Optional[int] = None)

パラメーター

パラメーター

Type

説明

col

列または文字列

階層を定義する列。

fractions

辞書

各層におけるサンプリング率。層が指定されていない場合は、その層の割合をゼロとして扱います。

seed

整数、オプション

ランダムシード。

戻り値

層別標本を表す新しいDataFrame 。

Python
from pyspark.sql import functions as sf
dataset = spark.range(0, 100, 1, 5).select((sf.col("id") % 3).alias("key"))
sampled = dataset.sampleBy("key", fractions={0: 0.1, 1: 0.2}, seed=0)
sampled.groupBy("key").count().orderBy("key").show()
# +---+-----+
# |key|count|
# +---+-----+
# | 0| 4|
# | 1| 9|
# +---+-----+

dataset.sampleBy(sf.col("key"), fractions={2: 1.0}, seed=0).count()
# 33
このページの見出し