Я использую массив двумерных фигур для хранения пар долгот + широт. В какой-то момент я должен объединить два из этих 2D-массивов, а затем удалить любую дублируемую запись. Я искал функцию, похожую на numpy.unique, но мне не повезло. Любая реализация, которую я выполнял мышление выглядит очень "неоптимизированным". Например, я пытаюсь преобразовать массив в список кортежей, удалив дубликаты с помощью набора, а затем снова перейдя в массив:
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 swap (массивы numpy более эффективны с точки зрения памяти).