gpt4 book ai didi

python - 如何对 Pandas 数据框中的字符串进行词形还原?

转载 作者:行者123 更新时间:2023-12-04 02:00:43 25 4
gpt4 key购买 nike

我有一个 Python Pandas 数据框,我需要在其中对两列中的单词进行词形还原。我正在为此使用 spacy。

import spacy
nlp = spacy.load("en")

我正在尝试使用基于此示例的词形还原(效果非常好):

doc3 = nlp(u"this is spacy lemmatize testing. programming books are more better than others")
for token in doc3:
print (token, token.lemma, token.lemma_)

我重写了它以循环遍历数据框中一列的每一行:

for row in example['col1']:
for token in row:
print(token.lemma_)

这行得通,但是,我一直无法弄清楚如何用词形还原后的词替换 col1 中的词。

我已经试过了,它不会返回错误,但也不会替换任何单词。知道出了什么问题吗?

for row in example['col1']:
for token in row:
token = token.lemma_

最佳答案

在代码的最后一个 for 循环中,您重复将其属性 token.lemma_ 分配给变量 token 然后执行此操作一次又一次(在每次迭代时覆盖它并且不跟踪以前的值)。

相反,假设您的数据框包含字符串,如

example = pd.DataFrame({"col1":["this is spacy lemmatization testing.", "some programming books are better than others", "sounds like a quote from the Smiths"]})

apply 和 list comprehension 可以通过以下方式完成这项工作:

example["col1"].apply(lambda row: " ".join([w.lemma_ for w in nlp(row)]))

关于python - 如何对 Pandas 数据框中的字符串进行词形还原?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47498293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com