filter pyspark在多种情况下使用and或

knpiaxh1  于 2021-07-09  发布在  Spark
关注(0)|答案(1)|浏览(332)

我的df中有以下两列。我想对这些列进行筛选,以便筛选后的df应该与下面的df类似。
输入表
col1col2nullapprovedfalseullapprovedtruenullnewfalsedefalsenew列
过滤后输出结果表
col1col2nullapprovednullnullfalse批准truenullnew
逻辑-如果col1为false,则应批准col2,或者col1不应等于false。

1tuwyuhd

1tuwyuhd1#

你可以用 where 在你的 df ```
df.where("""
(
col1='FALSE' AND
col2='Approved'
) OR
col1 <> 'FALSE'
""")

df.where(
(
(df.col1 == 'FALSE') &
(df.col2 == 'Approved')
)
|
(df.col1 != 'FALSE')
)

注意。我们使用 `&` 为了 `and` 以及 `|` 为了 `or` 

相关问题