Python: как удалить дубликаты в массиве Nx3 - PullRequest
0 голосов
/ 04 июля 2018

У меня есть Nx3 массив NumPy, скажем:

a=[[1,1,1],[1,2,3],...,[2,1,3],[2,2,2]]

В моем случае, меня не волнует положение элементов в моем "sub 3D array", и я считаю их дубликатами:

[1,2,3] == [2,1,3] == [3,1,2] = ...

Я хотел бы удалить эти дубликаты и получить:

a_new = [[1,1,1],[1,2,3],...,[2,2,2]]

Проблема в том, что я понятия не имею, как выполнять эту работу.

Любая помощь приветствуется и заранее спасибо:)

1 Ответ

0 голосов
/ 04 июля 2018

Используйте sort и unique:

import numpy as np
a=np.array([[1,1,1],[1,2,3],[2,1,3],[2,2,2]])
np.unique(np.sort(a, axis=1), axis=0)

array([[1, 1, 1],
       [1, 2, 3],
       [2, 2, 2]])
...