4

1列の行列をスパース行列に追加したり、スパース行列を列行列に追加したりするにはどうすればよいですか(どちらの方法でも)。データを置き換えるのではなく、1つのデータ型に結合するだけです。

スパース行列:

>>print type(X)
>>print X.shape
<class 'scipy.sparse.csr.csr_matrix'>
(53, 6596)

追加する列:

>>print type(Y)
>>print Y.shape
<class 'numpy.matrixlib.defmatrix.matrix'>
(53, 1)

どうすればこれを行うことができますか?

4

1 に答える 1

8

ドキュメントから、モジュールからhstack/を探しているようです:vstackscipy.sparse

Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy.sparse as ssp
>>> print ssp.hstack.__doc__

    Stack sparse matrices horizontally (column wise)

    Parameters
    ----------
    blocks
        sequence of sparse matrices with compatible shapes
    format : string
        sparse format of the result (e.g. "csr")
        by default an appropriate sparse matrix format is returned.
        This choice is subject to change.

    See Also
    --------
    vstack : stack sparse matrices vertically (row wise)

    Examples
    --------
    >>> from scipy.sparse import coo_matrix, vstack
    >>> A = coo_matrix([[1,2],[3,4]])
    >>> B = coo_matrix([[5],[6]])
    >>> hstack( [A,B] ).todense()
    matrix([[1, 2, 5],
            [3, 4, 6]])


>>>
于 2012-09-02T20:09:20.020 に答える