当前位置: 首页 > 知识库问答 >
问题:

如何使用词干清理数据后获取单词列表

梁丘洲
2023-03-14

目前,我只有一排。我怎样才能得到所有的单词?目前,我有一列文字。词干分析器中的问题。它只给出一行而不是所有单词。

我的目的是清理数据并打印所有用逗号分隔的单词。

输入:df[标记]列每行中的word1、word2、word3、word4、word5

输出将是一个长列表,其中包含所有值word1、word2、word3、word4、word5、word6、word7。。。。

from nltk.corpus import stopwords
import re
from nltk.stem import PorterStemmer
import pandas as pd 
import spacy
import pytextrank

from nltk.tokenize import word_tokenize
from nltk.stem import PorterStemmer

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import TfidfVectorizer 



def Clean_stop_words(data): 
#print(stopwords.words('english'))
    stop_words=stopwords.words('english')
    new_data="" 
    for word in data:
        np.char.lower(word)
        if word not in stop_words:
            new_data = data + " , " + word
    print(new_data)
    symbols = "!\"#$%&()*+-./:;<=>?@[\]^_`{|}~\n"
    for i in symbols:
        new_data = np.char.replace(new_text, i, ' ')
    #print(data) 
    stemmer=PorterStemmer()
    new_data=stemmer.stem(word)
    #print(new_data)

Clean_stop_words(df["Tag"])
#print(data)

提前谢谢你

共有1个答案

艾英范
2023-03-14

通知-

我决定用正则表达式清除特殊字符,如果你愿意,可以更改方法。

此外,请看pandas的apply函数,它接受每一行并执行Clean\u stop\u words函数。

from nltk.corpus import stopwords
from nltk.stem import PorterStemmer
import numpy as np
import pandas as pd
import re

l = ["'word1,wording,w#ord,he##llo,sleeping,don't"]
df = pd.DataFrame(l, columns=['Tag'])


def Clean_stop_words(data):
    stemmer = PorterStemmer()
    stop_words=stopwords.words('english')
    new_data=""
    data_split = data.split(',')
    for word in data_split:
        np.char.lower(word)
        word = re.sub('[^A-Za-z0-9]+', '', word)
        if word not in stop_words:
            stemmer.stem(word)
            new_data = new_data + " , " + word
    return new_data

df['Tag'] = df['Tag'].apply(Clean_stop_words)
print(df['Tag'])
 类似资料:
  • 我创建了一个数据框,其中包含要被词干化的句子。我想用雪球机来获得更高的分类算法精度。我该如何实现这一点?

  • 问题内容: 我有一个临时索引,其中包含我需要审核的文档。我想按它们包含的单词对这些文档进行分组。 例如,我有以下文件: 1-“ aaa bbb ccc ddd eee fff” 2-“ bbb mmm aaa fff xxx” 3-“ hhh aaa fff” 因此,我想得到最受欢迎的单词,最好是计数:“ aaa”-3,“ fff”-3,“ bbb”-2,等等。 elasticsearch有可能吗

  • 我是新来的,我想要得到一个文本文件的单词列表和单词数。这是我尝试过的代码: 输出:century Cepheus CEQ陶瓷Cerberus谷类小脑错误文件字数:0

  • 问题内容: 如果我有 在我的HTML页面上,如何得知鼠标光标位于“文本”一词上方? 问题答案: 除了另外两个答案外,您还可以使用jQuery(或通常是javascript)将您的段落分成多个部分。 这样,您就无需考虑使用跨度较大的单词来输出文本。让您的JavaScript为您完成。 例如 请注意,上述代码虽然有效,但会删除段落标记内的所有html。 jsFiddle示例

  • 问题内容: 我有一个代码,但它用于表的行跨度。您能帮我将其转换为colspan代码吗? 问题答案: 原理仅与相同,而不是。 但是我会对单元格中的元素更加谨慎。您的实际代码每次仅创建一个新元素。如果单元格中已经有这样的元素怎么办? 例: 编辑2018年3月11日: 有两种设置水平合并的方法。第一个是using ,它与垂直合并using相似,并且它不需要显式的表格网格。第二个是使用网格跨度属性。此方法

  • 本文向大家介绍使用Python从有道词典网页获取单词翻译,包括了使用Python从有道词典网页获取单词翻译的使用技巧和注意事项,需要的朋友参考一下 从有道词典网页获取某单词的中文解释。 再给大家分享一个命令行版的 以上就是本文的所有内容了,希望大家能够喜欢