Это потому, что вы пытаетесь применить функцию contains
к столбцу.Функция contains
не существует в pyspark.Вы должны попробовать like
.Попробуйте это:
import pyspark.sql.functions as F
df = df.withColumn("AddCol",F.when(F.col("Pclass").like("3"),"three").otherwise("notthree"))
Или, если вы просто хотите, чтобы это было точно число 3
, вам следует сделать:
import pyspark.sql.functions as F
# If the column Pclass is numeric
df = df.withColumn("AddCol",F.when(F.col("Pclass") == F.lit(3),"three").otherwise("notthree"))
# If the column Pclass is string
df = df.withColumn("AddCol",F.when(F.col("Pclass") == F.lit("3"),"three").otherwise("notthree"))