Aller au contenu principal

sampleBy (DataFrame)

Renvoie un échantillon stratifié sans remplacement basé sur la fraction donnée sur chaque strate.

Syntaxe

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

parameter

parameter

Type

Description

col

Colonne ou chaîne

colonne qui définit les strates.

fractions

dict

fraction d'échantillonnage pour chaque strate. Si un stratum n'est pas spécifié, nous considérons sa fraction comme nulle.

seed

int, facultatif

suite aléatoire.

parameter

Type

Description

col

Colonne ou chaîne

colonne qui définit les strates.

fractions

dict

fraction d'échantillonnage pour chaque strate. Si un stratum n'est pas spécifié, nous considérons sa fraction comme nulle.

seed

int, facultatif

suite aléatoire.

Renvoie

un nouveau DataFrame qui représente l'échantillon stratifié.

Exemples

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