Имея определенные панды df, вы можете остановить содержимое, применив функцию stemming для всего df после токенизации слов.
Для этого я в качестве примера использовал стеблер снежного кома от nltk.
from nltk.stem.snowball import SnowballStemmer
englishStemmer=SnowballStemmer("english") #define stemming dict
А это токенизатор:
from nltk.tokenize import WhitespaceTokenizer
Определите свою функцию:
def stemm_texts(text):
return [englishStemmer.stem(w) for w in w_tokenizer.tokenize(str(text))]
Примените функцию к вашему df:
df = df.apply(lambda y: y.map(stemm_texts, na_action='ignore'))
Обратите внимание, что я дополнительно добавил часть игнорирования NaN.
Возможно, вы захотите снова детокенизировать:
from nltk.tokenize.treebank import TreebankWordDetokenizer
detokenizer = TreebankWordDetokenizer()
df = df.apply(lambda y: y.map(detokenizer.detokenize, na_action='ignore'))