Python lambda to pyspark

Question:

I have this Python code written in pandas, I need to write the same in Pyspark:

Source_df_write['default_flag1']=Source_df_write.apply(lambda x: 'T' if ((x['A']==1) or (x['crr'] in ('sss','tttt')) or (x['reg']=='T')) else 'F', axis=1)
Asked By: Hala El Henawy

||

Answers:

You can use when and otherwise:

import pyspark.sql.functions as F

Source_df_write.withColumn("default_flag1", F.when(
    (F.col("A") == 1) | (F.col("crr").isin(["sss","tttt"])) | (F.col("reg") == 'T'), "T"
).otherwise("F"))
Answered By: Derek O
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.