Pyspark DataFrame如何在所有列中删除带有空值的行?

千瓦:

对于一个数据框,之前是这样的:

+----+----+----+
|  ID|TYPE|CODE|
+----+----+----+
|   1|   B|  X1|
|null|null|null|
|null|   B|  X1|
+----+----+----+

我希望是这样的:

+----+----+----+
|  ID|TYPE|CODE|
+----+----+----+
|   1|   B|  X1|
|null|   B|  X1|
+----+----+----+

我更喜欢一种通用方法,使其可以在df.columns很长的时间内应用。谢谢!

感想:

一种选择是用来functools.reduce构造条件:

from functools import reduce
df.filter(~reduce(lambda x, y: x & y, [df[c].isNull() for c in df.columns])).show()
+----+----+----+
|  ID|TYPE|CODE|
+----+----+----+
|   1|   B|  X1|
|null|   B|  X1|
+----+----+----+

其中reduce生成查询,如下所示:

~reduce(lambda x, y: x & y, [df[c].isNull() for c in df.columns])
# Column<b'(NOT (((ID IS NULL) AND (TYPE IS NULL)) AND (CODE IS NULL)))'>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PySpark Dataframe在所有列上向前填充

如何在PySpark DataFrame中删除具有空值的所有列?

用pyspark替换数据框中的列的所有值

是否可以使用pyspark过滤Spark DataFrames以返回列值在列表中的所有行?

在PySpark DataFrame中转换为JSON时不要丢弃具有空值的键

如何在带有增量值的Pyspark中的DataFrame中添加列?

如何在一列pyspark中删除具有空值的行

如何在pyspark列表达式中引用名称中带有连字符的列?

PySpark-在所有列中拆分数组并合并为行

修改所有列pyspark中的值

从PySpark DataFrame删除所有StructType列

带有pySpark的GraphFrames

从pyspark数据框中删除具有相同值但在不同列中的重复行

pyspark在所有列名称中删除所有特殊字符的特殊字符

带有json列的pyspark dataframe将json元素聚合到新列中并删除重复的

查找值位于PySpark Dataframe中特定列之间的所有列的列表

在Pyspark中如何在列表中添加所有值?

Pyspark删除所有连接

划分pyspark SQL中的所有列

如何在 PySpark 中用 NULL 替换数据框中所有列的字符串值?

替换 Pyspark Dataframe 列中的空值

如何在 PySpark 数据框中找到该列中存在的所有唯一值的列的分布?

删除A列在B列中没有至少X个唯一值的行,pyspark

Pyspark:如何为另一列中具有相同值的所有行设置相同的 id?

检查 PySpark Dataframe 中列的所有值是否相等

获取pyspark数据框中列中的值不匹配的所有行

如何获取特定列值pyspark的所有列值?

PySpark:如何获取列的所有组合

根据pyspark中另一列的值编辑具有相同id的列的所有行的值