title: Removing duplicates (within a given tolerance) from a Numpy array of vectors
body: <p>I have an Nx5 array containing N vectors of form 'id', 'x', 'y', 'z' and 'energy'. I need to remove duplicate points (i.e. where x, y, z all match) within a tolerance of say 0.1. Ideally I could create a function where I pass in the array, columns that need to match and a tolerance on the match.</p>
  
  <p>Following <a href="http://mail.scipy.org/pipermail/scipy-user/2008-April/016492.html" rel="noreferrer">this thread on Scipy-user</a>, I can remove duplicates based on a full array using record arrays, but I need to just match part of an array. Moreover this will not match within a certain tolerance.</p>
  
  <p>I could laboriously iterate through with a <code>for</code> loop in Python but is there a better Numponic way?</p>