首页 > 解决方案 > 我如何检查我的一列值是否存在于另一列中

问题描述

我有一个包含三列的 SQL 数据框

port    test1        test2
123     apple        ramesh eat apple
436     banana       banana is not a friute
467     cat 
78      tiger        cat is pet                     

我想找到 test1 列值存在于 test2 列值中。我想要这样的输出

port test1  test2                        check
123  apple  ramesh eat apple               1
436  banana banana is not a fruit          1
467  cat                                   0
78   tiger  cat is pet                     0

标签: pythonpyspark

解决方案


你可以使用contains函数来解决这个问题。这很简单。

df = df.withColumn('check',when(col('test2').contains(col('test1')),1).otherwise(0))
df.show(truncate=False)

+----+------+---------------------+-----+
|port|test1 |test2                |check|
+----+------+---------------------+-----+
|123 |apple |ramesh eat apple     |1    |
|436 |banana|banana is not a fruit|1    |
|467 |cat   |null                 |0    |
|78  |tiger |cat is pet           |0    |
+----+------+---------------------+-----+

推荐阅读