如何解决如何循环多个列表?
我有13个不同的单词列表。在进行主题建模时,我想清理它们,创建语料库,get_document_topics并连接所有列表的结果。 下面显示了对一个列表即Eastern_data_words进行处理的代码。我想将这些相同的步骤应用于其余所有12个列表。我相信我应该为这些列表创建一个字典,然后以某种方式遍历
删除停用词
eastern_data_words_nostops = remove_stopwords(eastern_data_words)
形成二元流
eastern_data_words_bigrams = make_bigrams(eastern_data_words_nostops)
nlp = spacy.load("en_core_web_md",disable=['parser','ner'])
不进行词形化仅保留名词,adj,vb,adv
eastern_data_lemmatized = lemmatization(eastern_data_words_bigrams,allowed_postags=['NOUN','ADJ','VERB','ADV'])
创建字典
id2word_reg = corpora.Dictionary(eastern_data_lemmatized)
创建语料库
texts_reg = eastern_data_lemmatized
术语文档频率
corpus_reg = [id2word_reg.doc2bow(text) for text in texts_reg]
#获取所有文档中主题的权重
topics = [lda_model_tuned[corpus_reg[i]] for i in range(len(eastern))]
def topics_document_to_dataframe(topics_document,num_topics):
res = pd.DataFrame(columns=range(num_topics))
for topic_weight in topics_document:
res.loc[0,topic_weight[0]] = topic_weight[1]
return res
document_topic = pd.concat([topics_document_to_dataframe(topics_document,num_topics=8) for `topics_document in topics]).reset_index(drop=True).fillna(0)`
eastern_weights= document_topic.apply(np.mean,axis=0)
最后,我想要一个具有不同主题权重的数据框为列,列表名称为行。图像中显示了一列的示例。 output
解决方法
如果起始输入是13个单词列表之一,后跟您概述的所有步骤,则您应该能够将所有步骤变成一个接受单词列表作为输入的函数。然后,您可以遍历每个列表的功能。
IncidencesAllAges
,
根据您对我的评论的回应,听起来您真的在寻找如何遍历文件的方法。
我认为,这个stackoverflow解决方案是一个不错的起点。 How can I iterate over files in a given directory?
为了给我们提供更多指导,您应该包括当前用于导入数据的过程。上面的代码更多地是关于它的处理的,听起来您已经知道了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。