2017-03-01 249 views
1

所以我對numpy很新,我正在嘗試一個項目,但遇到了一個我似乎無法解決的錯誤。如何拆分我的numpy陣列

假設我們按以下格式有一個NDarray

[4,5,6,1] 
[3,5,2,0] 
[4,7,3,1] 

我將如何把它分成兩個部分,使得第一部分是:

[4,5,6] 
[3,5,2] 
[4,7,3] 

,第二部分是

[1,0,1] 

我知道解決方案一定很簡單,但我似乎無法弄清楚

在此先感謝!

回答

3

嘗試:

a = np.array([[4,5,6,1], 
       [3,5,2,0], 
       [4,7,3,1]]) 

b,c = a[:,:-1], a[:,-1] 

這將使用numpy的的切片,以保持所有行並在最後一個分裂的列。

1
>>> import numpy as np 
>>> a=np.array([[4,5,6,1],[3,5,2,0],[4,7,3,1]]) 
>>> a 
array([[4, 5, 6, 1], 
     [3, 5, 2, 0], 
     [4, 7, 3, 1]]) 
>>> b=a[:,0:3] 
>>> b 
array([[4, 5, 6], 
     [3, 5, 2], 
     [4, 7, 3]]) 
>>> c=a[:,3] 
>>> c 
array([1, 0, 1]) 
>>> 

這是一種叫做陣列在python,沒有太多numpy的。

有關陣列切片的更多詳細信息,請參見Explain Python's slice notation