是否可以在 python 中堆叠稀疏和密集的 numpy 数组?我知道这可以使用 vstack/hstack 对密集的 numpy 数组完成。我想将一些列添加到稀疏矩阵中以增加特征向量的数量
最佳答案
是的,您可以使用 scipy.sparse.vstack
和 scipy.sparse.hstack
, 与使用 numpy.vstack
的方式相同和 numpy.hstack
对于密集阵列。
例子:
from scipy.sparse import coo_matrix
m = coo_matrix(np.array([[0,0,1],[1,0,0],[1,0,0]]))
a = np.ones(m.shape)
与 np.vstack
:
np.vstack((a,m))
#ValueError: all the input array dimensions except for the concatenation axis must match exactly
与 scipy.sparse.vstack
:
scipy.sparse.vstack((a,m))
#<6x3 sparse matrix of type '<type 'numpy.float64'>'
# with 12 stored elements in COOrdinate format>
关于python - 堆叠稀疏和密集矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18417906/