在NumPy中保留来自两个向量的唯一值对
假设我有两个长度相同的整型numpy向量 a0 和 a1。我想返回来自 a0 与 a1 的元素组成的唯一对。例如:
a0 = np.asarray([0, 1, 4, 1, 0, 4]) # --> b0 = np.asarray([0, 1, 4, 4])
a1 = np.asarray([0, 2, 3, 2, 0, 2]) # --> b1 = np.asarray([0, 2, 3, 2])
在 numpy 中,最简洁的实现方式是什么?
解决方案
对列使用 unique:
>>> b0, b1 = np.unique([a0, a1], axis=1)
>>> b0
array([0, 1, 4, 4])
>>> b1
array([0, 2, 2, 3])
请注意,这些结果是有序的。如果你想保留原始顺序,可以参考 here 中的方法,或者考虑 pandas.unique,它不会排序。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。