Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get a subarray from a numpy array based on index

Tags:

python

numpy

I have a numpy array vector, and I want to get a subset based on the indexes:

import numpy as np
input=np.array([1,2,3,4,5,6,7,8,9,10])
index=np.array([0,1,0,0,0,0,1,0,0,1])

what is a pythonic way to get out output=[2,7,10]?

like image 958
Dzung Nguyen Avatar asked Jul 17 '26 16:07

Dzung Nguyen


1 Answers

output = input[index.astype(np.bool)]

or

output = input[np.where(index)[0]]
like image 130
Fred Foo Avatar answered Jul 20 '26 07:07

Fred Foo