我正在测试缺失数据的分类器,并希望随机删除Spark中的行。
我想为每第n行做一些事情,删除20行。
最好的方法是什么?
答案 0 :(得分:1)
如果它是随机的,您可以使用sample此方法可以让您只占DataFrame
的一小部分。但是,如果您的想法是将数据拆分为training
和validation
,则可以使用randomSplit。
另一个不太优雅的选择是将DataFrame
转换为RDD
并使用zipWithIndex并按index
过滤,可能类似于:
df.rdd.zipWithIndex().filter(lambda x: x[-1] % 20 != 0)