Как найти и удалить неверный / бессмысленный текст в python? - PullRequest
0 голосов
/ 27 мая 2020

Я хочу удалить бессмысленные или недействительные данные в ячейке. (Комбинация бессмысленных алфавитов или только чисел в ячейках)

Мои данные ниже.

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          

Как я могу это сделать?

1 Ответ

2 голосов
/ 27 мая 2020

Вы можете сравнить значения с каким-то словарём, здесь из ntlk и, если не совпадают, удалить значения, но все же возможно, некоторые значения удаляются, например mom, если их нет в словаре ntlk:

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        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...