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

2024-05-16 21:32:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我的数据如下。

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          

我怎么能这样呢


Tags: 数据youidapplea1字母数字b1
1条回答
网友
1楼 · 发布于 2024-05-16 21:32:31

您可以将值与某些命令进行比较,这里是从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        

相关问题 更多 >