📜  pyspark 过滤器不为空 (1)

📅  最后修改于: 2023-12-03 14:45:52.857000             🧑  作者: Mango

pyspark 过滤器不为空

在PySpark中,过滤器(filter)是最基本的操作之一。过滤器可以帮助我们从大量的数据中筛选出符合我们需求的数据。有时,我们需要筛选出特定的数据,但是有一些数据缺失了有用的信息。在这种情况下,我们需要使用过滤器不为空的操作来过滤出非空的数据。

过滤器不为空的语法
pyspark.sql.functions.col(col).isNotNull()

其中,col是字段名,我们可以通过点语法(dot notation)来访问DataFrame中的某一个字段。isNotNull()是一个对列(column)的操作,它返回一个Boolean类型的值,表示列是否为空。

过滤器不为空的示例

下面是一个过滤器不为空的示例。假设我们有一个包含用户ID和地理位置信息的DataFrame:

from pyspark.sql.functions import col

df = spark.createDataFrame([(1, 'New York'), (2, None), (3, 'Los Angeles'), (4, 'Chicago'), (5, None)], ['id', 'location'])
df.show()

我们可以使用filter函数和isNotNull函数来过滤出非空的地理位置信息:

non_null_df = df.filter(col('location').isNotNull())
non_null_df.show()

这里使用了col函数来访问DataFrame中的location字段,然后使用isNotNull函数来判断该字段是否为空。最后,我们使用filter函数来筛选出非空的数据,并将结果保存到non_null_df中。执行结果如下:

+---+-----------+
| id|   location|
+---+-----------+
|  1|   New York|
|  3|Los Angeles|
|  4|    Chicago|
+---+-----------+
总结

本文介绍了如何在PySpark中使用过滤器不为空的操作来过滤出非空的数据。我们首先介绍了过滤器不为空的语法,然后给出了一个示例,演示了如何使用filter函数和isNotNull函数来过滤出非空的数据。如果您在PySpark中需要筛选出非空的数据,可以使用本文介绍的方法来实现。