How to concatenate two matrices in Python?

The scipy.sparse module includes the functions hstack and vstack.

For example:


In [44]: import scipy.sparse as sp

In [45]: c1 = sp.csr_matrix([[0,0,1,0],
    ...:                     [2,0,0,0],
    ...:                     [0,0,0,0]])

In [46]: c2 = sp.csr_matrix([[0,3,4,0],
    ...:                     [0,0,0,5],
    ...:                     [6,7,0,8]])

In [47]: h = sp.hstack((c1, c2), format='csr')

In [48]: h
Out[48]: 
<3x8 sparse matrix of type '<type 'numpy.int64'>'
    with 8 stored elements in Compressed Sparse Row format>

In [49]: h.A
Out[49]: 
array([[0, 0, 1, 0, 0, 3, 4, 0],
       [2, 0, 0, 0, 0, 0, 0, 5],
       [0, 0, 0, 0, 6, 7, 0, 8]])

In [50]: v = sp.vstack((c1, c2), format='csr')

In [51]: v
Out[51]: 
<6x4 sparse matrix of type '<type 'numpy.int64'>'
    with 8 stored elements in Compressed Sparse Row format>

In [52]: v.A
Out[52]: 
array([[0, 0, 1, 0],
       [2, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 3, 4, 0],
       [0, 0, 0, 5],
       [6, 7, 0, 8]])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章