2015-09-28 136 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

我誤解了你,看我的編輯。 –