我有coo_matrix
a
形状(40106, 2048)
和列numpy阵列b
形状(40106,)
。如何连接coo_matrix与列numpy阵列
我想要做的是简单地连接矩阵和数组(即结果数据结构将具有形状(40106, 2049)
)。 我试着使用hstack
如下图所示
concat = hstack([a, b])
,但我得到了以下错误:
File "/Users/usr/anaconda/lib/python3.5/site-packages/scipy/sparse/construct.py", line 464, in hstack
return bmat([blocks], format=format, dtype=dtype)
File "/Users/usr/anaconda/lib/python3.5/site-packages/scipy/sparse/construct.py", line 581, in bmat
'row dimensions' % i)
ValueError: blocks[0,:] has incompatible row dimensions
我不太明白为什么尺寸不匹配,因为这两个a
和b
有相同的行数。
我认为这是'sparse.hstack'。当转换为矩阵时,你的'b'将是(1,40106)。在将它传递给'hstack'之前,尝试将它转换为正确的稀疏矩阵。 'hstack'将作业传递给'bmat',最后加入所有输入矩阵的'coo'属性,从而创建一个新的矩阵。 – hpaulj