title: Set differences on columns between dataframes
body: <p><strong>Note:</strong> This question is inspired by the ideas discussed in this other post: <a href="https://stackoverflow.com/questions/22055567/dataframe-algebra-in-pandas">DataFrame algebra in Pandas</a></p>
  
  <p>Say I have two dataframes <code>A</code> and <code>B</code> and that for some column <code>col_name</code>, their values are:  </p>
  
  <pre><code>A[col_name]   |  B[col_name]  
  --------------| ------------
  1             |  3
  2             |  4
  3             |  5
  4             |  6
  </code></pre>
  
  <p>I want to compute the set difference between <code>A</code> and <code>B</code> based on <code>col_name</code>. The result of this operation should be: </p>
  
  <p>The rows of <code>A</code> where <code>A[col_name]</code> didn't match any entries in <code>B[col_name]</code>.</p>
  
  <p>Below is the result for the above example (showing other columns of <code>A</code> as well):</p>
  
  <pre><code>A[col_name] | A[other_column_1] | A[other_column_2]  
  ------------+-------------------|------------------ 
  1           |    'foo'          |  'xyz'            ....
  2           |    'bar'          |  'abc'
  </code></pre>
  
  <p>Keep in mind that some entries in <code>A[col_name]</code> and <code>B[col_name]</code> could hold the value <code>np.NaN</code>. I would like to treat those entries as <strong>undefined BUT different</strong>, i.e. the set difference <strong>should return them</strong>. </p>
  
  <p>How can I do this in Pandas? (generalizing to a difference on <strong>multiple columns</strong> would be great as well)</p>