Remove one column for a numpy array

Question:

I have a numpy array of dimension (48, 366, 3) and I want to remove the last column from the array to make it (48, 365, 3). What is the best way to do that? (All the entries are integers. I’m using Python v2.6)

Asked By: Double AA

||

Answers:

You could try numpy.delete:

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

or just get the slice of the array you want and write it to a new array.

For example:

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)

or equivalently:

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

or:

b = a[:,:-1,:]
Answered By: JoshAdel

Along the lines:

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

In []: A= A[:, :-1, :]
In []: A.shape
Out[]: (48, 365, 3)
Answered By: eat
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.