在NumPy中保留来自两个向量的唯一值对

后端开发 2026-07-09

假设我有两个长度相同的整型numpy向量 a0a1。我想返回来自 a0a1 的元素组成的唯一对。例如:

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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章