阅读 Spark 文档:http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.sample
有这个 bool 参数 withReplacement
没有太多解释。
它是什么以及我们如何使用它?
最佳答案
参数 withReplacement
控制 sample
结果的唯一性。如果我们将数据集视为一桶球,withReplacement=true
意味着从桶中随机取出一个球并将其放回其中。这意味着,可以再次捡起同一个球。
假设数据集中的所有唯一元素:
withReplacement=true
,作为 sample
的结果,可以多次产生相同的元素。 withReplacement=false
,数据集的每个元素将只采样一次。 import spark.implicits._
val df = Seq(1, 2, 3, 5, 6, 7, 8, 9, 10).toDF("ids")
df.show()
df.sample(true, 0.5, 5)
.show
df.sample(false, 0.5, 5)
.show
结果
+---+
|ids|
+---+
| 1|
| 2|
| 3|
| 5|
| 6|
| 7|
| 8|
| 9|
| 10|
+---+
+---+
|ids|
+---+
| 6|
| 7|
| 7|
| 9|
| 10|
+---+
+---+
|ids|
+---+
| 1|
| 3|
| 7|
| 8|
| 9|
+---+
关于apache-spark - 如果针对 Spark 数据帧为样本指定了 withReplacement 做什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53689047/