我有两个numpy
数组:
array_1.shape = (10000,15)
array_2.shape = (435,)
我想从array_1
中选择一个子数组,其中第一列(array_1[:,0]
)等于array_2
的元素之一。类似于array_1[array_1[:,0]==array_2]
。
答案 0 :(得分:3)
由于这些是numpy数组,您可以使用np.in1d
在array_2中查找array_1 [:,0]元素的索引,然后使用此结果索引array_1。
inArray2 = np.in1d(array_1[:, 0], array_2)
给出一个长度为array_1.shape[0]
的布尔数组,如果array_1[i, 0]
位于array_2中,则索引i的值等于 True , False 否则。
所以array_1[inArray2]
给出了预期的输出。