pymn
pymn

Reputation: 171

Slicing the last 2 columns of a numpy array

How can I slice the last 2 columns of a numpy array?

for example: A = np.array([[1, 2, 3], [4, 5, 6]]) and I want to get B as the last 2 columns of A which is [[2, 3], [5, 6]]

I know that I can index it from start of the array such as B = A[:, 1:3]. But I am looking for a general form to slice A by indexing from the end as the number of columns for A changes in my case.

Upvotes: 4

Views: 4349

Answers (1)

fzn
fzn

Reputation: 522

Here you go

>>> A = np.array([[1, 2, 3],[4, 5, 6]])
>>> A[:,[-2,-1]]
array([[2, 3],
       [5, 6]])

A generalised method to get the last n rows can be

>>> A = np.array([[1, 2, 3,4],[4, 5, 6,7]]) 
>>> A[:,-3:]
array([[2, 3, 4],
       [5, 6, 7]])

Upvotes: 2

Related Questions