gpt4 book ai didi

python - 如何在pyspark数据框中返回具有空值的行?

转载 作者:行者123 更新时间:2023-11-28 21:34:18 41 4
gpt4 key购买 nike

我正在尝试从 pyspark 数据框中获取具有空值的行。在 Pandas 中,我可以使用 isnull() 来实现这一点。在数据框上:

df = df[df.isnull().any(axis=1)]
但是在 PySpark 的情况下,当我在命令下运行时,它显示 Attributeerror:
df.filter(df.isNull())
AttributeError: 'DataFrame' 对象没有属性 'isNull'。
如何在不检查每列的情况下获取具有空值的行?

最佳答案

您可以使用 where 过滤行, reduce和列表理解。例如,给定以下数据帧:

df = sc.parallelize([
(0.4, 0.3),
(None, 0.11),
(9.7, None),
(None, None)
]).toDF(["A", "B"])

df.show()
+----+----+
| A| B|
+----+----+
| 0.4| 0.3|
|null|0.11|
| 9.7|null|
|null|null|
+----+----+

用一些 null 过滤行可以通过以下方式实现值(value):
import pyspark.sql.functions as f
from functools import reduce

df.where(reduce(lambda x, y: x | y, (f.col(x).isNull() for x in df.columns))).show()

这使:
+----+----+
| A| B|
+----+----+
|null|0.11|
| 9.7|null|
|null|null|
+----+----+

在条件语句中,您必须指定是否有任何(或、|)、所有(和、&)等。

关于python - 如何在pyspark数据框中返回具有空值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53486981/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com