Pyspark - 样品无需更换

时间:2017-11-10 10:56:13

标签: python apache-spark pyspark

正如我注意到的,我有一个非常不平衡的变量。所以,我想通过给我的变量的每个类赋予权重来对其进行抽样。这是我的数据集(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())时,我的命令没有运行。

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

这是您希望的结果:

+-----+---+
|   _1| _2|
+-----+---+
|Alice|  1|
|Alice|  1|
| Mary|  1|
|Alice|  1|
| Mary|  1|
+-----+---+

您能提供所需的输出吗?

同时检查命令是在后台运行还是崩溃