Проверьте орфографию в столбце фрейма данных pandas с помощью библиотеки Enchant.
Я новичок в пандах и очаровывать. Я хочу проверить орфографию в коротких предложениях, используя Python.
У меня есть кадр данных панд:
id_num word
1 live haapy
2 know more
3 ssweam good
4 eeat little
5 dream alot
И я хочу добиться следующей таблицы с колонкой "проверить"
id_num word check
1 live haapy True, False
2 know more True, True
3 ssweam good False, True
4 eeat little False, True
5 dream alot True, False
Каков наилучший способ сделать это?
Я попробовал этот код:
import enchant
dic = enchant.Dict("ru_Eng")
df['list_word'] = df['word'].str.split() #Get list of all words in each sentence using split()
row = list()
for row in df[['id_num', 'list_word']].iterrows():
r = row[1]
for word in r.list_word:
rows.append((r.id_num, word))
df2 = pd.DataFrame(rows, columns=['id_num', 'word']) #Make the table with id_num column and a column of separate words
Затем я получил новый фрейм данных (df2):
id_num word
1 live
1 haapy
2 know
2 more
3 ssweam
3 good
4 eeat
4 little
5 dream
5 alot
После этого я проверяю слова, используя:
column = df2 ['word'] для i в столбце: n = dic.check(i) print(n)
Результат:
True
False
True
True
False
True
False
True
True
False
Проверка выполнена правильно, но когда я попытался поместить этот результат в новый столбец фрейма данных Pandas, я получил все ложные значения для всех слов.
for i in column:
df2['res'] = dic.check(i)
Результирующий фрейм данных:
id_num word res
1 live False
1 haapy False
2 know False
2 more False
3 ssweam False
3 good False
4 eeat False
4 little False
5 dream False
5 alot False
Буду благодарен за любую помощь!