sampleBy (DataFrame)

Egy rétegzett mintát ad vissza csere nélkül az egyes rétegeken megadott törtrész alapján.

Szemantika

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

Paraméterek

Paraméter Típus Leírás
col Oszlop vagy str oszlopot, amely meghatározza a rétegeket.
fractions szótár mintavételi tört az egyes rétegekhez. Ha egy réteg nincs megadva, a törtrészét nullaként kezeljük.
seed int, nem kötelező véletlenszerű mag.

Visszatérítések

egy új DataFrame, amely a rétegzett mintát jelöli.

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