title: Why don't np.where & np.min seem to work right with this array?
body: <p><strong>The issues</strong></p>
  
  <p>So I have an array I imported containing values ranging from ~0.0 to ~0.76. When I started trying to find the min &amp; max values using Numpy, I ran into some strange inconsistencies that I'd like know how to solve if they're my fault, or avoid if they're programming errors on the Numpy developer's end.</p>
  
  <p><strong>The code</strong></p>
  
  <p>Let's start with finding the location of the maximum values using <code>np.max</code> &amp; <code>np.where</code>.</p>
  
  <pre><code>print array.shape
  print np.max(array)
  print np.where(array == 0.763728955743)
  print np.where(array == np.max(array))
  print array[35,57]
  </code></pre>
  
  <p>The output is this:</p>
  
  <pre><code>(74, 145)
  0.763728955743
  (array([], dtype=int64), array([], dtype=int64))
  (array([35]), array([57]))
  0.763728955743
  </code></pre>
  
  <p>When I look for where the array exactly equals the maximum entry's value, Numpy doesn't find it. However, when I simply search for the location of the maximum values without specifying what that value is, it works. Note this doesn't happen in <code>np.min</code>.</p>
  
  <p>Now I have a different issue regarding minima.</p>
  
  <pre><code>print array.shape
  print np.min(array)
  print np.where(array == 0.0)
  print np.where(array == np.min(array))
  print array[10,25], array[31,131]
  </code></pre>
  
  <p>Look at the returns.</p>
  
  <pre><code>(74, 145)
  0.0
  (array([10, 25]), array([ 31, 131]))
  (array([10, 25]), array([ 31, 131]))
  0.0769331747301 1.54220192172e-09
  </code></pre>
  
  <p>1.54^-9 is close enough to 0.0 that it seems like it would be the minimum value. But why is a location with the value 0.077 also listed by <code>np.where</code>? That's not even close to 0.0 compared to the other value.</p>
  
  <p><strong>The Questions</strong></p>
  
  <p>Why doesn't <code>np.where</code> seem to work when entering the maximum value of the array, but it does when searching for <code>np.max(array)</code> instead? And why does <code>np.where()</code> mixed with <code>np.min()</code> returns two locations, one of which is definitely not the minimum value?</p>