![](/img/trans.png)
[英]Find indices of unique array in a non-unique array with non-numeric items
[英]getting indices of non-unique items in an array
给定一个0 <= I[j] < 1000
的整数数组I
,具有不唯一的整数值I[j]
和一个V.shape == (1000, )
的“值”数组V
,我如何创建一个具有R.shape == I.shape
数组R
,如果I[j]
在I
是唯一的,则R[j] == V[I[j]]
如果R[j] == np.nan
的值是R[j] == np.nan
I[j]
在I
多次出现?
编辑作为示例,给定I = np.array([1, 2, 1, 3, 2], dtype=int)
,结果应为V = array([nan, nan, nan, V[3], nan])
,因为3
是I
唯一元素。
i = np.array([1, 2, 1, 3, 2], dtype=int)
v = np.random.rand(1000)
r = np.empty(shape=i.shape, dtype=v.dtype)
r.fill(np.nan)
unique, _ = np.unique(i, return_inverse=True)
counts = np.bincount(_)
r[unique[counts == 1]] = v[unique[counts == 1]]
>>> r
array([ nan, nan, nan, 0.5650245, nan])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.