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.

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