如何在2D numpy数组中构造数据

时间:2014-02-26 19:42:29

标签: python arrays numpy 2d

我有数据集的形式,我想将其转换为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
.
.

我该如何实施?

1 个答案:

答案 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

如果相反,只需转动模数和除法运算。