title: np.where(condition is None) not equal to np.where(condition == None)
body: <p>I'm troubled with the np.where() function. (line 7 in my example)</p>
  
  <p><strong>Background:</strong> I am programming the game "Connect Four". This <code>insert_chip()</code> method accesses the variable <code>self.board</code> which is an 8x8 np array of my personal dtype <code>Chip</code>. If there is no <code>chip</code> in an entry of <code>self.board</code>, then the value is <code>None</code>.</p>
  
  <p>For some reason, <code>np.where(col_entries is None)</code> does not return the indices of the elements that are <code>None</code>. And why do I receive a different output, when I write <code>col_entries == None</code> in the condition? It's not a if <code>None</code> has a reference right?</p>
  
  <pre><code>def insert_chip(self, chip, col):
      # slices the entries of the column into a new array
      col_entries = self.board[:, col:col+1]
  
      # checks for all unoccupied pos in this col (entries are None)
      # gives double array of indexes with the form (array([row_i, ...]), array([col_i, ...]))
      none_indexes = np.where(col_entries is None)
  
      # the pos where the chip will fall is the one with the highest index
      self.board[len(none_indexes[0]), col] = chip
  </code></pre>