from sklearn.feature_extraction.text import TfidfVectorizer
item = list(df['item1']) + list(df['item2'])
tfidf = TfidfVectorizer()
tfidf_sp = tfidf.fit_transform(item)
for i in len(list(df['item1'])):
new_list =[]
new_list.append(tfidf.idf_)
df['updated_item'] = list(new_list)
我试图将tfidf分数添加为功能。这是正确的方法吗?
item1的形状为(400k),而item2的形状相同。 tfidf_sp的形状为(800k,100k)。
答案 0 :(得分:0)
import pandas as pd
pd.DataFrame(tfidf_sp, columns = tfidf.get_feature_names())
这将为您提供一个矩阵,其中的列作为tfidf词汇,每行包含与每个项目相对应的tfidf值。
希望这会有所帮助。
编辑:
尝试将获得的术语文档矩阵转换为数组,如下所示:
tfidf_sp = tfidf.fit_transform(item).toarray()
这将解决Pandas错误。