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