Pular para o conteúdo principal

amostraPor(DataFrame)

Retorna uma amostra estratificada sem reposição com base na fração fornecida em cada estrato.

Sintaxe

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

Parâmetros

Parâmetro

Tipo

Descrição

col

Coluna ou str

coluna que define os estratos.

fractions

dicionário

Fração de amostragem para cada estrato. Se um estrato não for especificado, consideramos sua fração como zero.

seed

int, opcional

Semente aleatória.

Devoluções

Um novo DataFrame que representa a amostra estratificada.

Exemplos

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