sampleBy (datový rámec)

Vrátí stratifikovaný vzorek bez nahrazení na základě zlomku zadaného na každé vrstvě.

Syntaxe

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

Parametry

Parameter Typ Description
col Sloupec nebo str sloupec, který definuje stratu.
fractions slovník vzorkovací zlomek pro každou vrstvu. Pokud není zadaná vrstva, považujeme její zlomek za nulu.
seed int, volitelné náhodné semeno.

Návraty

nový datový rámec, který představuje stratifikovaný vzorek.

Příklady

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