簡體   English   中英

從Numpy中的2個向量形成矩陣,重復1個向量

[英]Forming matrix from 2 vectors in Numpy, with repetition of 1 vector

使用numpy數組我想以最經濟的方式創建這樣一個矩陣:給定

from numpy import array
a = array(a1,a2,a3,...,an)
b = array(b1,...,bm)

應處理為矩陣M:

M = array([[a1,a2,b1,...,an],
           ...           ...,
           [a1,a2,bm,...,an]]

我知道numpy數組的廣播方法,但無法找到一個好方法。 任何幫助將非常感激,

歡呼,羅布

您可以使用numpy.resizea ,然后再加入b在使用所需的指標的項目numpy.insert重新大小的陣列上:

In [101]: a = np.arange(1, 4)

In [102]: b = np.arange(4, 6)                                           

In [103]: np.insert(np.resize(a, (b.shape[0], a.shape[0])), 2, b, axis=1)                                                                       
Out[103]: 
array([[1, 2, 4, 3],                                                    
       [1, 2, 5, 3]])  

您可以使用numpy.tilenumpy.hstack函數的組合。

M = numpy.repeat(numpy.hstack(a, b), (N,1))

不過,我不確定我是否理解你的目標矩陣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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