[Numpy-discussion] Efficient removal of duplicates
Daran Rife
drife at ucar.edu
Mon Dec 15 19:27:16 EST 2008
Whoops! A hasty cut-and-paste from my IDLE session.
This should read:
import numpy as np
a = [(x0,y0), (x1,y1), ...] # A numpy array, but could be a list
l = a.tolist()
l.sort()
unique = [x for i, x in enumerate(l) if not i or x != l[i-1]] # <----
a_unique = np.asarray(unique)
Daran
--
On Dec 15, 2008, at 5:24 PM, Daran Rife wrote:
> How about a solution inspired by recipe 18.1 in the Python Cookbook,
> 2nd Ed:
>
> import numpy as np
>
> a = [(x0,y0), (x1,y1), ...]
> l = a.tolist()
> l.sort()
> unique = [x for i, x in enumerate(l) if not i or x != b[l-1]]
> a_unique = np.asarray(unique)
>
> Performance of this approach should be highly scalable.
>
> Daran
>
> --
>
>
> Hi,
>
> I the following problem: I have a relatively long array of points
> [(x0,y0), (x1,y1), ...]. Apparently, I have some duplicate entries,
> which
> prevents the Delaunay triangulation algorithm from completing its
> task.
>
> Question, is there an efficent way, of getting rid of the duplicate
> entries?
> All I can think of involves loops.
>
> Thanks and regards,
> Hanno
More information about the NumPy-Discussion
mailing list