我有数据集的形式,我想将其转换为2D numpy数组。 数据就像
term = which contains the words
document_number= which has the doc number
tf-idf= which contain the tf-idf of each word with respect to doc in ordered manner
我希望它应该是像这样的2D numpy数组
doc1 doc2 doc3....
term1 1 5 6
term2 0 4 1
term3 6 8 10
.
.
我该如何实施?
答案 0 :(得分:1)
您对tf-idf
结构的描述尚不清楚。所以我必须对你的数据结构做一些假设。
term_len = len(term)
doc_len = len(document_number)
因此假设tf-idf
是一个平面列表(不是列表列表),其中所有文档中第一个术语的频率都在那里,那么第二个术语,依此类推。
term_freq = numpy.zeros((term_len, doc_len), dtype=int)
for (i, freq) in enumerate(tf_ids):
term_freq[i // term_len, i % doc_len] = freq
如果相反,只需转动模数和除法运算。