我有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