我的专栏'令牌'已经被标记化并且是一个列表:
['super', 'tolles', 'team', 'nochmals', 'danke']
我使用:
from nltk.stem.snowball import SnowballStemmer
german_stemmer = SnowballStemmer('german', ignore_stopwords=True)
df_de['stemmed'] = df_de['tokens'].apply(lambda x: [german_stemmer.stem(y) for y in x])
我在一个列表中用两个起始方括号来获取字母而不是单词和列表。这个问题的简单方法是什么?
'stemmed'
[[, ', s, u, p, e, r, ', ,, , ', t, o, l, l, ...
答案 0 :(得分:1)
数据框apply
已将该函数应用于所选列中的每个单元格。所以你要应用每个单词,比如super
,然后迭代它:
for y in x
就像
for y in 'super'
迭代一个字逐字逐句。你想要的是将干细胞应用于整个细胞:
df_de['tokens'].apply(lambda x: german_stemmer.stem(x))
或更好
df_de['tokens'].apply(german_stemmer.stem)