首页 > 解决方案 > 从熊猫列中删除短/长字符串行

问题描述

我有一个包含一列字符串和一列 ID 的数据框

>>> import pandas as pd
>>> df

ID   Sentence                           
0    The cat is running away
1    The lazy dog jumped over the brown fox just now 
2    Hello

我想做的是删除字符串太短或太长的行。例如,我想将字符串的最小值设置为 2 个单词,最大设置为 8 个单词。过滤掉阈值后,只返回ID#1。

ID   Sentence                           
0    The cat is running away 

谁能给我一个关于如何做到这一点的建议?

标签: pythonpandasstring

解决方案


您好,这可以通过创建一个包含单词计数的新列然后过滤您的 df 来完成。

 df["Sentence"]=df["Sentence"].str.split()
 df["WordsCount"]=df["Sentence"].apply(lambda x: len(x))
 df=df[(df["WordsCount"]>= 2)&(df["WordsCount"]<=8)]

推荐阅读