title: Efficiently counting number of unique elements - NumPy / Python
body: <p>When running np.unique(), it first flattens the array, sorts the array, then finds the unique values. When I have arrays with shape (10, 3000, 3000), it takes about a second to find the uniques, but this quickly adds up as I need to call np.unique() multiple times. Since I only care about the total number of unique numbers in an array, sorting seems like a waste of time.</p>
  
  <p>Is there a faster method of find the total number of unique values in a large array other than np.unique()?</p>