Pyspark F.X不在Y时

问题描述 投票:0回答:1

大家好,我有一个问题。我必须设置一个负面条件,但是我不确定该怎么做。Df.withColumn(“ X”,F.when(F.col(ABC).isn(['A']),F.lit(['B'])。否则(F.lit(“”))这是如果我要在A中使用ABC,但又如何不在A中书写呢?我尝试过== False,但是该软件告诉我它不正确。提前谢谢

pyspark pyspark-sql pyspark-dataframes .when
1个回答
0
投票

在when子句中使用~选项。

df.withColumn(“X”, F.when(~F.col(ABC).isin(['A']),F.lit(['B']).otherwise(F.lit(''))

Example:

df.show()
#+---+---+---+
#|  a|  b|  c|
#+---+---+---+
#|  a|123|  b|
#|  c|123|  d|
#+---+---+---+

#in 
df.filter(col("a").isin(['a'])).show()
#or
df.filter((col("a").isin(['a'])) == True).show()

#+---+---+---+
#|  a|  b|  c|
#+---+---+---+
#|  a|123|  b|
#+---+---+---+

#not in 
df.filter(~col("a").isin(['a'])).show()
#or
df.filter((col("a").isin(['a'])) == False).show()

#+---+---+---+
#|  a|  b|  c|
#+---+---+---+
#|  c|123|  d|
#+---+---+---+
© www.soinside.com 2019 - 2024. All rights reserved.