首页 > 解决方案 > Pandas:检测具有一定长度的单个单词

问题描述

在 my.csv 文件中,我试图检测并提取具有长单个单词的行(它可以是一个单词,也可以是多个单词,但其中一个是超长的) - 请注意我不是在寻找总字符字符串,但只有长词检测,所以这对我不起作用:longtitles = df['name'].str.len() > 15

但是,在我的示例下面,如果有适用于任何字符串的通用解决方案也适用于数值和特殊字符值,那就太好了。

我的.csv

  id      name
  1       this is my sample value
  2       thisismysecondsamplevalue
  3       this ismythirdsamplevalue

我的标准:查找单词大于 15chars 的行并拉到 output.csv

输出.csv

  id      name
  2       thisismysecondsamplevalue
  3       this ismythirdsamplevalue

标签: pythonpandascsv

解决方案


一种使用方式pandas.Series.extract

mask = df["name"].str.findall("(\S{16,})").astype(bool)
print(df[mask])

输出:

   id                       name
1   2  thisismysecondsamplevalue
2   3  this ismythirdsamplevalue

推荐阅读