[英]How to merge multiple Numpy array into single array
我想將多個2d Numpy形狀數組合並為(r,a),(r,b),(r,c),...(r,z)成單個2d形狀數組(r,a + b + c ... + z)
我嘗試了np.hstack但它需要相同的形狀&np.concat僅在與第二個數組有關的元組上運行。
我是numpy的新手,但我認為這是不可能的。 前提條件是“除了第二個軸外,其他所有陣列的形狀都必須相同,一維數組可以是任意長度。”
您可以使用np.concatenate或np.hstack 。 這是一個例子:
>>> a = np.arange(15).reshape(5,3)
>>> a
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
>>> b = np.arange(10).reshape(5,2)
>>> b
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
>>> np.concatenate((a,b), axis =1)
array([[ 0, 1, 2, 0, 1],
[ 3, 4, 5, 2, 3],
[ 6, 7, 8, 4, 5],
[ 9, 10, 11, 6, 7],
[12, 13, 14, 8, 9]])
>>> np.hstack((a,b))
array([[ 0, 1, 2, 0, 1],
[ 3, 4, 5, 2, 3],
[ 6, 7, 8, 4, 5],
[ 9, 10, 11, 6, 7],
[12, 13, 14, 8, 9]])
希望能幫助到你
實際上,我的功能之一是返回scipy.sparse.csr.csr_matrix,我將其與另一個函數返回的列表一起轉換為np.array,以便我可以合並所有內容,但將稀疏矩陣轉換為array(<73194x17稀疏矩陣類型為''的203371以壓縮的稀疏行格式>存儲的元素,dtype = object)與np.hstack不兼容。 不便之處,敬請原諒。 我想出了解決方案而不是numpy.hstack我使用了scipy hstack函數。 謝謝大家。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.