2011-07-15 63 views
19

我有一個尺寸爲numpy的數組(48,366,3),我想從數組中刪除最後一列(48,365,3)。什麼是最好的方式來做到這一點? (所有的條目都是整數,我使用Python V2.6)爲numpy數組刪除一列

回答

32

你可以嘗試numpy.delete

http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html

或者只是得到你想要的陣列的切片,並將其寫入到一個新的陣列。

例如:

a = np.random.randint(0,2, size=(48,366,3)) 
b = np.delete(a, np.s_[-1:], axis=1) 
print b.shape # <--- (48,365,3) 

或等效:

b = np.delete(a, -1, axis=1) 

或:

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

沿線:

In []: A= rand(48, 366, 3) 
In []: A.shape 
Out[]: (48, 366, 3) 

In []: A= A[:, :-1, :] 
In []: A.shape 
Out[]: (48, 365, 3)