2016-08-23 58 views
-1

我想繼續將numpy數組添加到python中的另一個數組。 讓我們說,我有以下陣列:將2維numpy數組放入3維數組

arraytotal = np.array([]) 
array1 = np.array([1,1,1,1,1]) 
array2 = np.array([2,2,2,2,2]) 

,我想追加數組1和數組2到arraytotal。然而,當我使用:

arraytotal.append[array1] 

它告訴我:

'numpy.ndarray' 對象有沒有屬性 '追加'

我怎麼可以追加數組1和數組2到arraytotal ?

+0

添加的陣列,以一些其它陣列是昂貴的(需要更換;等添加元素到一個經典的C數組而不是一個更快的列表)。只需收集你的數組(例如在一個列表中)並使用np.vstack/np.hstack(取決於你想要的形狀)。我也沒有得到你描述的多個2d-> 3d的東西。你的例子看起來更像是多個1d - > 2d。更簡單的方法:創建列表列表並將最終數據轉換爲數組。 – sascha

+2

這個語法是非常錯誤的,目前還不清楚你的意思。此外,您似乎沒有正確計算尺寸。 – user2357112

+0

謝謝。你說得對,我不應該提到如果我不願意包括2D文件的製作方式,那麼它就是從2D到3D。基本上,listx和listy中的每個項目給出像素的座標,並且返回的值基於以該值爲中心的某個幀內的每個像素的rgb值。 – Vofun

回答

-1

你應該陣列追加到正規Python列表,然後將列表轉換爲numpy的陣列結尾:

import numpy as np 
total = [] 
for i in range(5,15): 
    thisArray = np.arange(i) 
    total.append(thisArray) 
total = np.asarray(total) 

這使得循環二維數組;你可以嵌套循環來產生更高維的數組。

0

不幸的是,沒有辦法像這樣操作數組。取而代之的是,使具有相同名稱的列表,並追加兩個陣列和其改變爲numpy的陣列,像這樣:

arraytotal[] 
array1 = np.array([1,1,1,1,1]) 
arraytotal.append[array1] 
np.array(arraytotal)