sampleBy (DataFrame)

Retourne un échantillon stratifié sans remplacement en fonction de la fraction donnée sur chaque strate.

Syntaxe

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

Paramètres

Paramètre Type Description
col Colonne ou str colonne qui définit des strates.
fractions dictionnaire fraction d’échantillonnage pour chaque strate. Si une couche n’est pas spécifiée, nous traitons sa fraction comme zéro.
seed int, facultatif valeur initiale aléatoire.

Retours

Un nouveau DataFrame qui représente l’exemple stratifié.

Exemples

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