我有两个数组:
a = np.array([1,2,2,3,4,1,2,4,3,3])
b = np.array([100,200,200,100,400,100,200,400,100,100])
如您所见,存在两个1
ina
并且在完全相同的索引中,我们可以看到两个100
in b
。您可以看到三个3's
in,a
并且在完全相同的索引中,我们可以再次看到三个100
。
对于其他数字(也就是2
和),也可以看到这一点4
。
我想这两个数组比较,得到的群体,即符合1
从a
与相应的指标b
,所以对其他的数字。然后,我想消除中的每个组,但首先要消除所有组b
,即
result = np.array([100,200,100,400])
如果数组b
具有唯一的组值(即,对值1
和3
来自数组的值不重复100 a
),则可以使用来解决问题np.unique
。但是,由于arraya
中的两个数字在array中具有相同的组号b
,所以我发现这很困难。
获取中的唯一值的索引,a
并使用这些索引从中获取相应的值b
:
indices = np.unique(a, return_index=True)[1]
b[indices]
结果:
array([100, 200, 100, 400])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句