準備數據以進行NumPy計算。我很好奇的方式來構建:構建現有二維數組中numpy的3d數組
myarray.shape => (2,18,18)
來自:
d1.shape => (18,18)
d2.shape => (18,18)
我嘗試使用NumPy的命令:
hstack([[d1],[d2]])
,但它看起來不行!
準備數據以進行NumPy計算。我很好奇的方式來構建:構建現有二維數組中numpy的3d數組
myarray.shape => (2,18,18)
來自:
d1.shape => (18,18)
d2.shape => (18,18)
我嘗試使用NumPy的命令:
hstack([[d1],[d2]])
,但它看起來不行!
hstack和vstack做沒有改變陣列的維數:他們只是把他們「肩並肩」。因此,組合二維數組將創建一個新的二維數組(不是3D模型!)。
你可以做什麼丹尼爾建議(直接使用numpy.array([d1, d2])
)。
您也可以將您的陣列三維陣列堆疊它們,通過添加一個新的層面,每個陣列之前:
d3 = numpy.vstack([ d1[newaxis,...], d2[newaxis,...] ]) # shape = (2, 18, 18)
事實上,d1[newaxis,...].shape == (1, 18, 18)
,您可以直接疊加兩種3D陣列和獲得新3D陣列(d3
),你想要的。
只是做d3 = array([d1,d2])
似乎爲我工作:
>>> from numpy import array
>>> # ... create d1 and d2 ...
>>> d1.shape
(18,18)
>>> d2.shape
(18,18)
>>> d3 = array([d1, d2])
>>> d3.shape
(2, 18, 18)
:)感謝EOL,現在我將更多地瞭解vstack,hstack – vernomcrp 2009-11-13 09:35:29
'np.vstack([a [np.newaxis,...],b [np.newaxis,...]])'像魅力一樣工作!謝謝。 – thepunitsingh 2017-11-24 14:11:03