正如我注意到的,我有一个非常不平衡的变量。所以,我想通过给我的变量的每个类赋予权重来对其进行抽样。这是我的数据集(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)
我没有错误。但是,当我尝试查看samplesDf(sampledDf.show())时,我的命令没有运行。
这是正确的方法吗?
答案 0 :(得分:0)
这是您希望的结果:
+-----+---+
| _1| _2|
+-----+---+
|Alice| 1|
|Alice| 1|
| Mary| 1|
|Alice| 1|
| Mary| 1|
+-----+---+
您能提供所需的输出吗?
同时检查命令是在后台运行还是崩溃