Double AA
Double AA

Reputation: 5969

Remove one column for a numpy array

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)

Upvotes: 33

Views: 90468

Answers (2)

JoshAdel
JoshAdel

Reputation: 68682

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,:]

Upvotes: 55

eat
eat

Reputation: 7530

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)

Upvotes: 5

Related Questions