我有一个包含大约20k行的DataFrame。
我想在数据集中随机删除186行。
要理解上下文 - 我正在测试缺失数据的分类模型,每行都有一个unix时间戳。 186行对应3秒(每秒有62行数据。)
我的目标是,当数据流式传输时,数据很可能会出现 丢失了几秒钟。我正在从时间窗口中提取功能,所以我想看看数据如何影响模型性能。
我认为最好的方法是转换为rdd
并使用filter
函数,就像这样,并将逻辑放在过滤函数中。
dataFrame.rdd.zipWithIndex().filter(lambda x: )
但是我坚持逻辑 - 我该如何实现呢? (使用PySpark)
答案 0 :(得分:3)
尝试这样做:
import random
startVal = random.randint(0,dataFrame.count() - 62)
dataFrame.rdd.zipWithIndex()\
.filter(lambda x: not x[<<index>>] in range(startVal, startVal+62))
这应该有效!