首页 > 解决方案 > 如何在 Spark DataFrame 中逐行过滤?

问题描述

我有一个像这样的火花数据框:

 code             list_code
 1002             [1005, 1006, 1007, ....]
 1005             [1005, 1009, 1101, ....]

如何使用 pyspark 过滤 list_code 中的代码。不知何故,它是逐行值。普通代码不会像这样工作:

df.filter((df.code.isin(df.list_code)))

标签: apache-sparkpysparkapache-spark-sql

解决方案


按照评论中的建议使用array_contains

import pyspark.sql.functions as F

df2 = df.filter(F.array_contains(F.col('list_code'), F.col('code')))

推荐阅读