📅  最后修改于: 2023-12-03 14:45:52.857000             🧑  作者: Mango
在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中需要筛选出非空的数据,可以使用本文介绍的方法来实现。