将带有非数字键的2D字典转换为支持矩阵乘法的矩阵?

时间:2018-03-22 02:59:47

标签: python matrix scipy sparse-matrix

我有一组由唯一字符串标识符标记的文档,这些文档充当字典的键,其中值是与字符串相对应的字符串,字符串是文档内的单词;内部字典中的值是一个浮点数。我试图使用scipy dok_matrix将其转换为矩阵但我收到错误。以下是我的代码:

 def getMatrix_N(traindocs, N):
     #Just gets N random document vectors and returns it as sparse matrix 
     docIds = random.sample(trainDocs.keys(), k=N)
     matrix = {}
     for docId in docIds:
          matrix[docId] = trainDocs[docId].doc_vec
     return matrix

然后我尝试了:

if __name__ == "__main__":
     m1 = getMatrix_N(trainDocs, 10)
     mat1 = dok_matrix(m1)

返回错误:

 TypeError: Expected rank <=2 dense array or matrix.

所以我的问题是要么如何解决这个问题(以及如何在两种类型的矩阵之间进行矩阵乘法 - 矩阵可能跨越不同的子空间),或者如果你知道任何包这样做的包。

0 个答案:

没有答案