sampleBy (DataFrame)

Returnerar ett stratifierat prov utan ersättning baserat på bråket som anges på varje stratum.

Syntax

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

Parameters

Parameter Type Beskrivning
col Kolumn eller str kolumn som definierar strata.
fractions Dict samplingsfraktion för varje stratum. Om inget stratum anges behandlar vi bråket som noll.
seed int, valfritt slumpmässigt frö.

Retur

en ny DataFrame som representerar det stratifierade exemplet.

Exempel

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