将维度添加到 scipy 稀疏
Adding dimensions to scipy sparse
我想给稀疏矩阵增加一个维度。在 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)
。有什么想法吗?
scipy.sparse
只能处理二维数组。您可能想查看 pydata/sparse ,它看起来在遵循数组接口的同时处理 n 维稀疏数据。目前数组类型较少,会存在一些性能问题,正在积极开发中
我想给稀疏矩阵增加一个维度。在 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)
。有什么想法吗?
scipy.sparse
只能处理二维数组。您可能想查看 pydata/sparse ,它看起来在遵循数组接口的同时处理 n 维稀疏数据。目前数组类型较少,会存在一些性能问题,正在积极开发中