【发布时间】:2012-01-23 12:44:12
【问题描述】:
我正在使用二维形状数组来存储经度+纬度对。在某一时刻,我必须合并其中的两个二维数组,然后删除任何重复的条目。我一直在寻找类似于 numpy.unique 的函数,但我没有运气。我做过的任何实现 思考看起来非常“未优化”。例如,我正在尝试将数组转换为元组列表,使用 set 删除重复项,然后再次转换为数组:
coordskeys = np.array(list(set([tuple(x) for x in coordskeys])))
有没有现成的解决方案,我就不重复造轮子了?
为了清楚起见,我正在寻找:
>>> a = np.array([[1, 1], [2, 3], [1, 1], [5, 4], [2, 3]])
>>> unique_rows(a)
array([[1, 1], [2, 3],[5, 4]])
顺便说一句,我只想为它使用一个元组列表,但这些列表太大了,以至于它们消耗了我的 4Gb RAM + 4Gb 交换空间(numpy 数组的内存效率更高)。
【问题讨论】:
标签: python numpy scipy duplicate-removal