簡體   English   中英

如何將多個Numpy數組合並為單個數組

[英]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.concatenatenp.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM