2016-02-25 46 views
2

對不起,這個簡單的問題,但我怎麼也找不到弄明白:的Python:用numpy的簡單數組操作

我有一個較長的一維數組numpy的一樣:

[1,2,3,4,5,6,7,8,9,10,11,12, ... ,n1,n2,n3] 

這陣用來存儲點的XYZ位置,如[X0,Y0,Z0,X1,Y1,Z1等...]

我想將它轉化成這種形式:

[ [1,2,3],[4,5,6],[7,8,9],[10,11,12],....,[n1,n2,n3] ] 

它可能與numpy沒有經過緩慢的循環?

謝謝:)

回答

3

使用reshape方法。

a = np.arange(27) # some 1-D numpy array 
a.reshape(-1, 3) 
+1

請注意,這不會遍歷數據_at all_,即使在C庫代碼中也不會。它只會創建一個新數據視圖,其中不同的數組步長指向內存中與原始數組相同的區域。 –