我希望给稀疏矩阵增加一个维度。在numpy中,这只是一个做[:,None]的问题。我尝试了reshape和resize,但没有任何成功。
以下是一些虚拟数据:
from scipy.sparse import csr_matrix
data = [1,2,3,4,5,6]
col = [0,0,0,1,1,1]
row = [0,1,2,0,1,2]
a = csr_matrix((data, (row, col)))
a.reshape((3,2,1))最后一行给出了错误:ValueError: matrix shape must be two-dimensional。相反,执行resize会产生错误ValueError: shape must be a 2-tuple of positive integers。
在我的特殊情况下,我还需要将其重塑为(3,1,2)。有什么想法吗?
发布于 2020-07-20 16:43:46
scipy.sparse只能处理二维数组。您可能希望研究一下pydata/sparse,它在遵循数组接口的同时处理n维稀疏数据。目前,它的阵列类型较少,会有一些性能问题,但正在积极开发中。
https://stackoverflow.com/questions/62767658
复制相似问题