apache-spark - 如何在 Spark DataFrame 中逐行过滤?
问题描述
我有一个像这样的火花数据框:
code list_code
1002 [1005, 1006, 1007, ....]
1005 [1005, 1009, 1101, ....]
如何使用 pyspark 过滤 list_code 中的代码。不知何故,它是逐行值。普通代码不会像这样工作:
df.filter((df.code.isin(df.list_code)))
解决方案
按照评论中的建议使用array_contains
:
import pyspark.sql.functions as F
df2 = df.filter(F.array_contains(F.col('list_code'), F.col('code')))
推荐阅读
- r - R中多个元素的部分字符串匹配
- c++ - 如何将 sqlite 数据库集成到我的 c++ 程序中,该程序将存储指定的 cin 条目
- javascript - 如何防止弹出窗口时出现滚动条?
- android - Jetpack Compose 中的倾斜渐变背景
- javascript - React Modals 都在按钮单击时立即显示
- oracle - 如何创建不更新旧数据的增量视图?
- pymysql - 如何在 aws lambda 中使用 pymysql?
- node.js - 如何将 post 方法与 fetch 和 koa 一起使用?
- asp.net - 如何在 ASP.NET Core 中从控制器进行远程发布
- c++ - Ncurses mvwaddch() 在 getch() 之前不起作用