na().drop() 和 filter(col.isNotNull) 之间的区别 (Apache Spark)
Difference between na().drop() and filter(col.isNotNull) (Apache Spark)
df.na().drop()
和 df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull() && !df.col("onlyColumnInOneColumnDataFrame").isNaN())
之间在语义上是否有任何差异,其中 df
是 Apache Spark Dataframe
?
或者,如果第一个在 null
之后没有 return(不是字符串 null,而只是一个 null
值),我是否应该将其视为一个错误 onlyColumnInOneColumnDataFrame
而第二个呢?
编辑:也添加了 !isNaN()
。 onlyColumnInOneColumnDataFrame
是给定 Dataframe
中的唯一列。假设它的类型是 Integer
.
使用 df.na.drop()
删除包含 any 空值或 NaN 值的行。
使用 df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull())
时,您删除那些仅在 onlyColumnInOneColumnDataFrame
.
列中具有空值的行
如果你想达到同样的目的,那就是 df.na.drop(["onlyColumnInOneColumnDataFrame"])
。
在一种情况下,我不得不 select 记录 NA 或空值或 >=0。我可以通过仅使用 coalesce 函数和 none 以上 3 个函数来做到这一点。
rdd.filter("coalesce(index_column, 1000) >= 0")
df.na().drop()
和 df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull() && !df.col("onlyColumnInOneColumnDataFrame").isNaN())
之间在语义上是否有任何差异,其中 df
是 Apache Spark Dataframe
?
或者,如果第一个在 null
之后没有 return(不是字符串 null,而只是一个 null
值),我是否应该将其视为一个错误 onlyColumnInOneColumnDataFrame
而第二个呢?
编辑:也添加了 !isNaN()
。 onlyColumnInOneColumnDataFrame
是给定 Dataframe
中的唯一列。假设它的类型是 Integer
.
使用 df.na.drop()
删除包含 any 空值或 NaN 值的行。
使用 df.filter(df.col("onlyColumnInOneColumnDataFrame").isNotNull())
时,您删除那些仅在 onlyColumnInOneColumnDataFrame
.
如果你想达到同样的目的,那就是 df.na.drop(["onlyColumnInOneColumnDataFrame"])
。
在一种情况下,我不得不 select 记录 NA 或空值或 >=0。我可以通过仅使用 coalesce 函数和 none 以上 3 个函数来做到这一点。
rdd.filter("coalesce(index_column, 1000) >= 0")