Freigeben über


sampleBy (DataFrame)

Gibt eine gestazierte Probe ohne Ersatz basierend auf dem Bruch zurück, der auf den einzelnen Schichten angegeben ist.

Syntax

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

Parameter

Parameter Typ Beschreibung
col Spalte oder Str Spalte, die Strata definiert.
fractions Wörterbuch Sampling-Bruch für jede Schicht. Wenn kein Stratum angegeben ist, behandeln wir den Bruch als Null.
seed int, optional zufälliges Saatgut.

Rückkehr

ein neuer DataFrame, der das ratifizierte Beispiel darstellt.

Beispiele

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