每个主题的热门单词

时间:2019-06-19 12:59:50

标签: python scikit-learn tfidfvectorizer

我正在根据收到的电子邮件在Python中进行文本分析。我的数据在Pandas数据框中,电子邮件的文本在df['document']中,主题在df['topic']列中。

我想使用定义每个主题的最高关键字创建一个数据框(可能使用tf_idf)。

我创建了一个矢量化程序,并试图创建一个新的数据框,其主题为索引或行,以及列中的单词列表。

from sklearn.feature_extraction.text import TfidfVectorizer
v = TfidfVectorizer()
x = v.fit_transform(df['document'])

# Topic-Keyword Matrix
df_topic_keywords = pd.DataFrame()

# Assign Column and Index
df_topic_keywords.columns = v.get_feature_names() #error occurs here
df_topic_keywords.index = df['topic']

# View
df_topic_keywords.head()

然后我得到了错误。

  

“ ValueError:长度不匹配:预期的轴有0个元素,新值   有12730166个元素”

1 个答案:

答案 0 :(得分:0)

所以问题是您用零列创建了一个新的df,并尝试在其中分配新列。解决方案是:

 df_topic_keywords = pd.DataFrame(pd.np.empty((0, len(v.get_feature_names()))))
 df_topic_keywords.columns = v.get_feature_names()