Pyspark Function to Negate Column

5.1k Views Asked by At

Is there a built-in function to add a new column which is the negation of the original column?

Spark SQL has the function negative(). Pyspark does not seem to have inherited this function.

df_new = df.withColumn(negative("orginal"))
2

There are 2 best solutions below

2
On

Assuming your column original is boolean :

df_new = df.withColumn(~df["original"])  # Equivalent to "not original"
0
On

I think it should be this to be syntax right, based on @pierre-gourseaud's answer:

df_new = df.withColumn("new_column_name", ~df["original"])  # Equivalent to "not original"