我按照此tutorial搜索文档中的相关字词。我的代码:
>>> for i, blob in enumerate(bloblist):
print i+1
scores = {word: tfidf(word, blob, bloblist) for word in blob.words}
sorted_words = sorted(scores.items(), key=lambda x: x[1], reverse=True)
for word, score in sorted_words[:10]:
print("\t{}, score {}".format(word, round(score, 5)))
1
k555ld-xx1014h, score 0.19706
fuera, score 0.03111
dentro, score 0.01258
i5, score 0.0051
1tb, score 0.00438
sorprende, score 0.00358
8gb, score 0.0031
asus, score 0.00228
ordenador, score 0.00171
duro, score 0.00157
2
frentes, score 0.07007
write, score 0.05733
acceleration, score 0.05255
aprovechando, score 0.05255
. . .
这是我的问题,我想导出一个包含以下信息的数据框:索引,10个顶部单词(用逗号分隔)。我可以用pandas数据帧保存的东西。 例如:
TOPWORDS = pd.DataFrame(topwords.items(), columns=['ID', 'TAGS'])
提前谢谢大家。
答案 0 :(得分:1)
解决!
这是我的解决方案,也许不是最好的,但它有效。
tags = {}
for i, blob in enumerate(bloblist):
scores = {word: tfidf(word, blob, bloblist) for word in blob.words}
sorted_words = sorted(scores.items(), key=lambda x: x[1], reverse=True)
a =""
for word, score in sorted_words[:10]:
a= a + ' '+ word
tags[i+1] = a
答案 1 :(得分:-1)