正如我注意到的,我有一个非常不平衡的变量。因此,我想通过给变量的每个类赋予权重来对其进行采样。这是我的数据集(dd):
l = [('Alice', 1),('Alice', 1),('Alice', 1),('Alice', 1),('Alice', 1),('Alice',1),('Mary', 1),('Alice', 1),('Alice', 1),('Mary', 1)]
dd == spark.createDataFrame(l)
dd.show()
+-----+------+
| Name| Label|
+-----+------+
|Alice| 1|
|Alice| 1|
|Alice| 1|
|Alice| 1|
|Alice| 1|
|Alice| 1|
| Mary| 1|
|Alice| 1|
|Alice| 1|
| Mary| 1|
+-----+------+我希望Alice和Mary在我的数据集上有相同的百分比。我使用了以下内容:
sampledDf = dd.sampleBy("_1", fractions={"Alice":0.5, "Mary":0.5}, seed=1234)并且我没有得到任何错误。但是,当我尝试查看sampledDf (sampledDf.show())时,我的命令没有运行。
哪种方法是正确的?
发布于 2017-11-10 20:59:50
这就是你想要的结果吗:
+-----+---+
| _1| _2|
+-----+---+
|Alice| 1|
|Alice| 1|
| Mary| 1|
|Alice| 1|
| Mary| 1|
+-----+---+您能提供所需的输出吗?
还要检查命令是否在后台运行或已崩溃
https://stackoverflow.com/questions/47221186
复制相似问题