首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pyspark使用.filter()过滤掉空列表

Pyspark使用.filter()过滤掉空列表
EN

Stack Overflow用户
提问于 2017-02-24 19:54:02
回答 1查看 8K关注 0票数 7

我有一个pyspark dataframe,其中一列填充了列表,要么包含条目,要么只包含空列表。我想高效地过滤掉所有包含空列表的行。

代码语言:javascript
运行
复制
import pyspark.sql.functions as sf
df.filter(sf.col('column_with_lists') != []) 

返回以下错误:

代码语言:javascript
运行
复制
Py4JJavaError: An error occurred while calling o303.notEqual.
: java.lang.RuntimeException: Unsupported literal type class

也许我可以检查列表的长度,并强制它应该大于0(参见here)。但是,如果我使用pyspark-sql,并且filter甚至允许lambda,我不确定这个语法是如何工作的。

也许为了清楚起见,我有多个列,但想要在单个列上应用上面的过滤器,删除所有条目。链接的SO示例对单个列进行筛选。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 20:33:24

因此,它看起来和使用sql.functions中的size函数一样简单

代码语言:javascript
运行
复制
import pyspark.sql.functions as sf
df.filter(sf.size('column_with_lists') > 0)
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42437992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档