当列文本包含超过 10 个单词时过滤 pyspark DataFrame

Posted

技术标签:

【中文标题】当列文本包含超过 10 个单词时过滤 pyspark DataFrame【英文标题】:Filter pyspark DataFrame when column text contains more then 10 words 【发布时间】:2019-12-07 14:35:06 【问题描述】:

我有一个pyspark.sql.dataframe.DataFrame,我想保留(过滤)我的一列(称为文本)超过 10 个字的所有行。

我试过了 df = df.filter(len(df.text.split())>10) 但这会引发异常

我应该如何正确地做到这一点? 非常感谢!

【问题讨论】:

【参考方案1】:

使用来自pyspark.sql.functions 的splitsize 函数:

df.filter(size(split(col('text'), ' ')) > 10).show()

【讨论】:

以上是关于当列文本包含超过 10 个单词时过滤 pyspark DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

计算给定单词在超过 10 亿个单词的文本语料库中出现的次数

如果文本列包含指定列表中的单词,则过滤 pyspark 数据框

如何在 Oracle Apex 中过滤给定单词的穿梭列表?

在 C# winforms 应用程序中使用文本框过滤 Treeview

悲剧文本

当列数据类型为列表时如何过滤熊猫数据框