如何在python中查找和删除无效/无意义的文本?

问题描述 投票:0回答:1

我想删除单元格上无意义或无效的数据。(无意义的字母或仅单元格中的数字的组合)

我的数据在下面。

ID         A1           B1          C1
1          apple        adfs        banana
2          I love you   mom         111
3          zaaaaf       dad         348080

预期输出如下。

ID         A1           B1          C1
1          apple                    banana
2          I love you   mom         
3                       dad          

我该怎么办?

python pandas nlp nltk corpus
1个回答
1
投票

您可以将值与某个字典相比较,从ntlk中比较,如果不匹配,则删除值,但是如果字典ntlk中不存在,则仍然可以删除某些值,例如mom

import nltk
words = set(nltk.corpus.words.words())

#https://stackoverflow.com/a/41290205
f = lambda x: " ".join(w for w in nltk.wordpunct_tokenize(x) if w.lower() in words)

#apply only for object columns (obviously strings)
cols = df.select_dtypes(object).columns
df[cols] = df[cols].applymap(f)
print (df)
   ID          A1   B1      C1
0   1       apple       banana
1   2  I love you             
2   3              dad        
© www.soinside.com 2019 - 2024. All rights reserved.