Pyspark:基于两列中的空值过滤数据框

时间:2020-10-02 18:41:28

标签: pyspark

我有一个这样的数据框

id    customer_name     city       order
1     John              dallas      5
2     steve                         4
3                       austin      3
4     Ryan              houston     2
5                                   6
6     nyle              austin      4 

我想过滤出customer_name和city均为null的行。如果其中之一具有价值,那么就不应对其进行过滤。结果应该是

id    customer_name     city       order
1     John              dallas      5
2     steve                         4
3                       austin      3
4     Ryan              houston     2
6     nyle              austin      4 

我只能根据一列找出过滤条件。如何基于两列进行过滤?

2 个答案:

答案 0 :(得分:1)

我相信这可以通过对函数使用这些和f别名来实现。

df.filter(f.col("customer_name").isNotNull() & f.col("city").isNotNull())

答案 1 :(得分:1)

使用coalesce

from pyspark.sql.functions import *

df.filter(coalesce('customer_name', 'city').isNotNull())