如何用仅包含所有标记的引理的字符串替换列? [关闭]

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)

【讨论】:

以上是关于如何用仅包含所有标记的引理的字符串替换列? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

允许替换普遍量化变量的引理/规则 (Isabelle)

Polya定理与Burnside引理

如何用另一个表中的匹配值替换/更新列中每个字符串的所有实例?

如何用同一数据框中其他列的实际列值替换一列中的字符串值?

如何用plsql语句把一个表的所有列都转换为字符型

如何用 NA 替换列中的字符串值并将列转换为浮点数?