【发布时间】:2016-05-31 21:35:49
【问题描述】:
我有一个 numpy 矩阵,想在上面附加另一个矩阵。
这两个矩阵有以下形状:
m1.shape = (2777, 5902) m2.shape = (695, 5902)
我想将 m2 附加到 m1 以便新矩阵具有形状:
m_new.shape = (3472, 5902)
当我使用 numpy.append 或 numpy.concatenate 时,我只会得到一个新数组,其中包含两个矩阵和形状 (2,1)。
你们中的任何人都知道如何从两个矩阵中得到一个大矩阵?
附加信息:两者都是稀疏矩阵。
编辑: m1看起来像
(0, 1660) 0.444122811195
(0, 3562) 0.260868771714
(0, 4743) 0.288149437574
(0, 4985) 0.514889706991
(0, 5215) 0.272163636657
(0, 5721) 0.559006134727
(1, 555) 0.0992498400527
(1, 770) 0.133145289523
(1, 790) 0.0939044698233
(1, 1097) 0.259867567986
(1, 1285) 0.188836288168
(1, 1366) 0.24707459927
(1, 1499) 0.237997843516
(1, 1559) 0.120069347224
(1, 1701) 0.17660176488
(1, 1926) 0.185678520634
(1, 2177) 0.163066377369
(1, 2641) 0.079958199952
(1, 2937) 0.259867567986
(1, 3551) 0.198471489351
(1, 3562) 0.0926197593026
(1, 3593) 0.100537828805
(1, 4122) 0.198471489351
(1, 4538) 0.57162654484
(1, 4827) 0.105808609537
m2 看起来像:
(0, 327) 0.0770581299315
(0, 966) 0.309858753157
(0, 1231) 0.286870892505
(0, 1384) 0.281385698712
(0, 1817) 0.204495931592
(0, 2284) 0.182420951496
(0, 2414) 0.114591086901
(0, 2490) 0.261442040482
(0, 3122) 0.321676138471
(0, 3151) 0.286870892505
(0, 4031) 0.172251612658
(0, 5149) 0.25839783806
(0, 5215) 0.125806303262
(0, 5225) 0.336280781816
(0, 5231) 0.135930403721
(0, 5294) 0.145049459537
(0, 5794) 0.20145172917
(0, 5821) 0.224439589822
(1, 327) 0.191031948626
(1, 1171) 0.62081265022
矩阵的类型是:
<class 'scipy.sparse.csr.csr_matrix'> <class 'scipy.sparse.csr.csr_matrix'>
已解决:
m_new = scipy.sparse.vstack((m1, m2))
成功了
感谢您的帮助。
【问题讨论】:
-
你应该从一开始就告诉我们这些是
scipy sparse- 并相应地标记了问题。 -
对不起,如果有人正在寻找该问题,我相应地编辑了问题
标签: python matrix scipy sparse-matrix