2015-09-28 87 views
0

我有两个numpy数组:选择从阵列通过柱通过1D-阵列

array_1.shape = (10000,15) 
array_2.shape = (435,) 

我想从array_1选择子阵列,其中所述第一柱(array_1[:,0])等于array_2元件中的一个。像array_1[array_1[:,0]==array_2]

+1

array_1 [array_1 [:,0] == array_2],它不是正确的答案 – farhawa

回答

3

由于这些是numpy数组,因此您可以使用np.in1d来查找array_2中array_1 [:, 0]的元素索引,然后使用此结果对array_1进行索引。

inArray2 = np.in1d(array_1[:, 0], array_2)给出长度array_1.shape[0]中的索引的布尔数组,值i等于如果array_1[i, 0]是在array_2,否则。

因此array_1[inArray2]给出了预期的输出。

+0

谢谢,但这不是我正在寻找的,这将返回array_1中的元素,其中有索引array_2的元素 – farhawa

+0

我误解了你,看我的编辑。 –