[SciPy-user] remove duplicate points...
Stéfan van der Walt
stefan at sun.ac.za
Wed Apr 23 11:32:51 EDT 2008
2008/4/23 Angus McMorland <amcmorl at gmail.com>:
> > I have array of 3D points:
> >
> > [x0, y0, z0, v0]
> > [x1, y1, z1, v1]
> > ...
> > [xn, yn, zn, vn]
>
> > This array have duplicate elements (points), by construction.
> >
> > How could I remove these duplicate elements ?
>
> I had to do this prior to Delaunay triangulation at one point, and
> wrote a quick routine to remove the duplicates, which works on the
> assumption that unique pts will have a unique product (x * y * z).
That doesn't sound like a valid assumption?
Something like this should work, although it will shuffle the data:
import numpy as np
x = np.array([[1,2,3],[4,5,6],[1,3,4],[1,2,3],[4,5,6],[7,8,9],[1,2,3],[5,6,7],[1,3,4]])
N = len(x)
for i in xrange(N):
if i < len(x):
x = np.vstack((x[i],
x[~np.all(x[i] == x,axis=1)]))
else:
break
print x
Regards
Stéfan
More information about the SciPy-User
mailing list