根据第一个数组选择第二个数组

Selecting a second array based on the first one

假设我有两个 len(1000) 数组,每个

array_a = np.array([1,2,3,....,1000]) # length of 1000
array_b = np.array([32344,83242,94323,....,48984]) # length of 1000

现在我 select 基于某些条件 array_a 的一个子集:

subset_a = array_a[(array_a>10) * (array_a<500)]

现在如何 select array_b 属于上述 subset_a 的那些值?

我试过了

subset_b = array_b[subset_a]

但我得到一个错误

IndexError: arrays used as indices must be of integer (or boolean) type

你在找这个吗?

import numpy as np

array_a = np.array([1,2,3,4,5]) # length of 5
array_b = np.array([6,7,8,9,10]) # length of 5

condition = array_a>3
print condition
subset_a = array_a[condition]
print subset_a
subset_b = array_b[condition]
print subset_b

http://ideone.com/dAFLYL