小编Ser*_*rgi的帖子

从NumPy 2D阵列中删除重复的列和行

我正在使用2D形状阵列来存储经度+纬度对.有一次,我必须合并其中两个2D数组,然后删除任何重复的条目.我一直在寻找类似于numpy.unique的功能,但我没有运气.我一直在考虑的任何实现都看起来非常"未经优化".例如,我正在尝试将数组转换为元组列表,删除带有set的重复项,然后再次转换为数组:

coordskeys = np.array(list(set([tuple(x) for x in coordskeys])))
Run Code Online (Sandbox Code Playgroud)

有没有现成的解决方案,所以我不重新发明轮子?

为了说清楚,我正在寻找:

>>> a = np.array([[1, 1], [2, 3], [1, 1], [5, 4], [2, 3]])
>>> unique_rows(a)
array([[1, 1], [2, 3],[5, 4]])
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我想只使用一个元组列表,但是这些列表非常大,以至于它们消耗了我的4Gb RAM + 4Gb交换(numpy数组更节省内存).

python numpy duplicate-removal scipy

20
推荐指数
3
解决办法
2万
查看次数

标签 统计

duplicate-removal ×1

numpy ×1

python ×1

scipy ×1