我有两个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]
。
我有两个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]
。
由于这些是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]
给出了预期的输出。
谢谢,但这不是我正在寻找的,这将返回array_1中的元素,其中有索引array_2的元素 – farhawa
我误解了你,看我的编辑。 –
array_1 [array_1 [:,0] == array_2],它不是正确的答案 – farhawa