python - 从熊猫列中删除短/长字符串行
问题描述
我有一个包含一列字符串和一列 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
谁能给我一个关于如何做到这一点的建议?
解决方案
您好,这可以通过创建一个包含单词计数的新列然后过滤您的 df 来完成。
df["Sentence"]=df["Sentence"].str.split()
df["WordsCount"]=df["Sentence"].apply(lambda x: len(x))
df=df[(df["WordsCount"]>= 2)&(df["WordsCount"]<=8)]