如何用仅包含所有标记的引理的字符串替换列? [关闭]
Posted
技术标签:
【中文标题】如何用仅包含所有标记的引理的字符串替换列? [关闭]【英文标题】:How to replace a column with string only containing the lemmas of all the tokens? [closed] 【发布时间】:2022-01-06 21:26:13 【问题描述】:我在数据框中有一个列名“Text_Tweet”,其中每一行都包含一条推文。
如何将每行推文替换为仅包含每个词条的字符串?
【问题讨论】:
这个问题有点笼统,没有提供任何输入或细节...... 【参考方案1】:nltk
包中有一个内置实用程序,它允许我们以最简单的方式对单词进行词形还原。最后,我们将独自面对这样的事情:
from nltk.stem import WordNetLemmatizer
import pandas as pd
your_dataframe = pd.DataFrame(
'Text_Tweet':['rocks corpora', 'corpora rocks']
)
lemmatizer = WordNetLemmatizer()
your_dataframe['Processed_Tweet'] = your_dataframe['Text_Tweet'].apply(lambda item:' '.join([lemmatizer.lemmatize(word) for word in item.split()]))
your_dataframe
输出:
Text_Tweet Processed_Tweet
0 rocks corpora rock corpus
1 corpora rocks corpus rock
【讨论】:
【参考方案2】:试试这个:
import nltk
w_tokenizer = nltk.tokenize.WhitespaceTokenizer()
lemmatizer = nltk.stem.WordNetLemmatizer()
def lemmatize_text(text):
return [lemmatizer.lemmatize(w) for w in w_tokenizer.tokenize(text)]
#example of datasets
df = pd.DataFrame(['I am a boy',
'He likes these books',
'There were four columns'], columns=['Text_Tweet'])
df['lemm'] = df.Text_Tweet.apply(lemmatize_text)
【讨论】:
以上是关于如何用仅包含所有标记的引理的字符串替换列? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章