python - 我如何检查我的一列值是否存在于另一列中
问题描述
我有一个包含三列的 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
解决方案
你可以使用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 |
+----+------+---------------------+-----+
推荐阅读
- r - 如何抓住句子中的最后一个数字?
- android - 当我尝试在 android studio 中运行它时,我创建的简单的 android 应用程序就崩溃了
- python - Python - 归一化平均误差的编码
- angular - Angular 教程及其内存中 Web API 是否遵循正确的 PUT 语义?
- cgal - CGAL:在周期性三角剖分中使用边迭代器访问每个顶点的邻居的问题
- php - PHP - 在座位预订程序的多维关联数组中查找连续值
- sql - 更新查询 - 如何修复以避免“操作必须使用可更新查询”消息
- python - 基于 GDAL/OGR 的并行空间处理和使用 python 的空间过滤器?
- git - 永久排除某些跟踪文件
- ubuntu - avrdude 只显示没有输出,阻塞终端(Ubuntu)