Python 基于第一个阵列选择第二个阵列

Python 基于第一个阵列选择第二个阵列,python,arrays,numpy,conditional-statements,subset,Python,Arrays,Numpy,Conditional Statements,Subset,假设我有两个len(1000)数组,每个 array_a = np.array([1,2,3,....,1000]) # length of 1000 array_b = np.array([32344,83242,94323,....,48984]) # length of 1000 现在,我根据某些条件选择array\u a的子集: subset_a = array_a[(array_a>10) * (array_a<500)] 但我犯了个错误 IndexError: arr

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

array_a = np.array([1,2,3,....,1000]) # length of 1000
array_b = np.array([32344,83242,94323,....,48984]) # length of 1000
现在,我根据某些条件选择
array\u a
的子集:

subset_a = array_a[(array_a>10) * (array_a<500)]
但我犯了个错误

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

因此,基本上,您希望根据第一部分的值范围选择得到一些值对。比如说[(132344),(283242)]?你可以使用熊猫吗?如果我能得到上面的信息,那为什么不呢!另外一点:如果您有基本python列表,可以将它们转换为numopy数组或
array\u b[[i代表数组a中的i,如果i>3,在这种情况下,
子集a
变成布尔值,对吗?我想同时使用
子集a
子集b
进行绘图。所以我希望它们是数字。有没有其他方法不调用
子集a
两次就可以做到这一点?即一次作为布尔值,第二次作为带条件的数组N
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