43

使用 SciPy/Numpy 在 Python 中连接稀疏矩阵的最有效方法是什么?

在这里,我使用了以下内容:

>>> np.hstack((X, X2))
array([ <49998x70000 sparse matrix of type '<class 'numpy.float64'>'
        with 1135520 stored elements in Compressed Sparse Row format>,
        <49998x70000 sparse matrix of type '<class 'numpy.int64'>'
        with 1135520 stored elements in Compressed Sparse Row format>], 
       dtype=object)

我想在回归中使用这两个预测变量,但当前的格式显然不是我想要的。是否有可能获得以下信息:

    <49998x1400000 sparse matrix of type '<class 'numpy.float64'>'
     with 2271040 stored elements in Compressed Sparse Row format>

它太大而无法转换为深度格式。

4

1 回答 1

73

您可以使用scipy.sparse.hstack来连接具有相同行数的稀疏矩阵(水平连接):

from scipy.sparse import hstack
hstack((X, X2))

同样,您可以使用scipy.sparse.vstack连接具有相同列数的稀疏矩阵(垂直连接)。

使用numpy.hstackornumpy.vstack将创建一个包含两个稀疏矩阵对象的数组。

于 2013-10-31T15:30:41.937 回答