В pyspark, попробуйте это:
df = df[df['original_problem'].rlike('|'.join(searchfor))]
Или эквивалентно:
import pyspark.sql.functions as F
df.where(F.col('original_problem').rlike('|'.join(searchfor)))
В качестве альтернативы, вы можете перейти на udf
:
import pyspark.sql.functions as F
searchfor = ['cat', 'dog', 'frog', 'fleece']
check_udf = F.udf(lambda x: x if x in searchfor else 'Not_present')
df = df.withColumn('check_presence', check_udf(F.col('original_problem')))
df = df.filter(df.check_presence != 'Not_present').drop('check_presence')
Нометоды DataFrame предпочтительнее, потому что они будут быстрее.