我有一些 dataframe
有很多列和列名列表。
如何从列表中删除 all 列中包含 nulls
的这些行?
答案 0 :(得分:1)
您可以使用 df.na.drop
并指定 all
和一系列列名。然后,仅当该行中的每个指定列都为空时,它才会删除该行。
val col_seq = Seq("col1", "col2").filter(df.columns.contains(_))
val df2 = if (col_seq.length > 0) df.na.drop("all", col_seq) else df
答案 1 :(得分:0)
“删除该列表中所有列都为空的行”等价于:“保留该列表中至少一列不为空的行”。因此,您可以使用最后一个条件来过滤数据框:
val df1 = df.filter(colsList.map(col(_).isNotNull).reduce(_ or _))
答案 2 :(得分:0)
您可以使用 filter
删除每列的 null
值;
df.filter(r => !r.anyNull)