简体   繁体   English

从计数数据帧开始使用scikit学习tfidf矢量化器

[英]use scikit learn tfidf vectorizer starting from counts data frame

I have a pandas data frame with counts of words for a series of documents. 我有一个熊猫数据框,其中包含一系列文档的字数统计。 Can I apply sklearn.feature_extraction.text.TfidfVectorizer to it to return a term-document matrix? 我可以将sklearn.feature_extraction.text.TfidfVectorizer应用于它以返回术语文档矩阵吗?

import pandas as pd

a = [1,2,3,4]
b = [1,3,4,6]
c = [3,4,6,1]

df = pd.DataFrame([a,b,c])

How can I get tfidf version of counts in df? 如何在df中获取tfidf版本的计数?

like this: 像这样:

from sklearn.feature_extraction.text import TfidfTransformer
tfidf =TfidfTransformer(norm=u'l2', use_idf=True, smooth_idf=True, sublinear_tf=False)
data =tfidf.fit_transform(df.values)

This returns a sparse matrix of the tfidf values. 这将返回tfidf值的稀疏矩阵。 You can turn them into a dense and put them back into a data frame like this: 您可以将它们变成密集的,然后将它们放回数据框,如下所示:

pd.DataFrame(data.todense())

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM