对 df 列进行词形还原

Lemmatize df column

我正在尝试对 df 中的内容进行词形还原,但我编写的函数无法正常工作。在尝试对列中的数据进行词形还原之前,它看起来像这样。

然后我运行下面的代码:

import nltk
nltk.download('wordnet')
from nltk.stem import WordNetLemmatizer 

# Init the Wordnet Lemmatizer
lemmatizer = WordNetLemmatizer()

def lemmatize_text(text):
    lemmatizer = WordNetLemmatizer()
    return [lemmatizer.lemmatize(w) for w in text]  

df['content'] = df["content"].apply(lemmatize_text)
print(df.content)

现在内容栏如下所示:

我不确定我做错了什么,但我只是想对内容列中的数据进行词形还原。任何帮助将不胜感激。

您正在对每个字符而不是单词进行词形还原。您的函数应该如下所示:

def lemmatize_text(text):
    lemmatizer = WordNetLemmatizer()
    return ' '.join([lemmatizer.lemmatize(w) for w in text.split(' ')])