如何在 python 中查找和删除无效/无意义的文本?
How to find and remove invalid / meaningless text in 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
我该怎么做?
您可以将值与来自 ntlk
的某些字典进行比较,如果不匹配则删除值,但仍然有可能删除某些值,例如 mom
如果不存在于字典 ntlk:
import nltk
words = set(nltk.corpus.words.words())
#
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
我想删除单元格上无意义或无效的数据。 (无意义的字母组合或单元格中只有数字)
下面是我的数据
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
我该怎么做?
您可以将值与来自 ntlk
的某些字典进行比较,如果不匹配则删除值,但仍然有可能删除某些值,例如 mom
如果不存在于字典 ntlk:
import nltk
words = set(nltk.corpus.words.words())
#
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