Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark删除行_Apache Spark_Pyspark_Apache Spark Sql_Rdd_Spark Dataframe - Fatal编程技术网

Apache spark Spark删除行

Apache spark Spark删除行,apache-spark,pyspark,apache-spark-sql,rdd,spark-dataframe,Apache Spark,Pyspark,Apache Spark Sql,Rdd,Spark Dataframe,我有一个包含大约20k行的数据帧 我想在数据集中随机删除186行 为了理解上下文,我正在测试一个缺失数据的分类模型,每一行都有一个unix时间戳。186行对应于3秒(每秒有62行数据) 我的目标是,当数据流化时,数据很可能会 失踪几秒钟。我正在从一个时间窗口提取特征,所以我想看看丢失的数据是如何影响模型性能的 我认为最好的方法是转换成rdd并使用filter函数,类似这样的函数,并将逻辑放在filter函数中 dataFrame.rdd.zipWithIndex().filter(lambda

我有一个包含大约20k行的数据帧

我想在数据集中随机删除186行

为了理解上下文,我正在测试一个缺失数据的分类模型,每一行都有一个unix时间戳。186行对应于3秒(每秒有62行数据)

我的目标是,当数据流化时,数据很可能会 失踪几秒钟。我正在从一个时间窗口提取特征,所以我想看看丢失的数据是如何影响模型性能的

我认为最好的方法是转换成
rdd
并使用
filter
函数,类似这样的函数,并将逻辑放在filter函数中

dataFrame.rdd.zipWithIndex().filter(lambda x:)

但我被逻辑所束缚——我如何实现这一点?(使用PySpark)

尝试这样做:

import random
startVal = random.randint(0,dataFrame.count() - 62)
dataFrame.rdd.zipWithIndex()\
             .filter(lambda x: not x[<<index>>] in range(startVal, startVal+62))
随机导入
startVal=random.randint(0,dataFrame.count()-62)
dataFrame.rdd.zipWithIndex()\
.过滤器(λx:不在范围内的x[](startVal,startVal+62))

这应该管用

嘿@Thiago,还有一个后续问题。我想按一列进行筛选,例如,我的一列是时间戳,以删除10秒的行。我试图在范围(startVal,startVal+10)中添加
.filter(“timestamp”)以删除10秒,但无效。您的列是Int吗?或者是一种时间戳类型的数据帧?它是一个int(将它从unix时间戳转换为除以1000)。因为它是时间序列数据,一秒钟内有许多列,所以按计数删除将不起作用。