sampleBy (DataFrame)

Zwraca próbkę warstwową bez zamiany na podstawie ułamka podanego na każdej warstwie.

Składnia

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

Parametry

Parameter Typ Opis
col Kolumna lub str kolumna definiująca warstwę.
fractions słownik ułamek próbkowania dla każdej warstwy. Jeśli nie określono warstwy, traktujemy jego ułamek jako zero.
seed int, opcjonalnie nasion losowych.

Zwroty

nowa ramka danych reprezentująca próbkę warstwową.

Examples

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