title: np.where not working with multiple conditions?
body: <p>I have a dataframe that looks a bit like this:</p>
  <pre><code> | offer_code | column2 | column3
  -|------------|---------|--------
  0| 123        | X       | NaN
  1| 123        | Y       | NaN
  2| 456        | X       | X
  3| 456        | Y       | X
  </code></pre>
  <p>I'm trying to add a new column which flags as 0 all rows where column3 = NaN OR column2 and column3 match. Everything else should be flagged as 1. So the result should look like this:</p>
  <pre><code> | offer_code | column2 | column3 | flag
  -|------------|---------|---------|-----
  0| 123        | X       | NaN     | 0
  1| 123        | Y       | NaN     | 0
  2| 456        | X       | X       | 0
  3| 456        | Y       | X       | 1
  </code></pre>
  <p>However, my code just flags every single row as 1. This is the code I'm using; can anyone see where I'm going wrong please?</p>
  <pre><code>df[&quot;flag&quot;] = np.where(df[&quot;column3&quot;].isnull()|df[&quot;column2&quot;]==df[&quot;column3&quot;],0,1)
  </code></pre>