title: python pandas: how to find rows in one dataframe but not in another?
body: <p>Let's say that I have two tables: <code>people_all</code> and <code>people_usa</code>, both with the same  structure and therefore the same primary key.</p>
  
  <p>How can I get a table of the people not in the USA?
  In SQL I'd do something like:</p>
  
  <pre><code>select a.*
  from people_all a
  
  left outer join people_usa u
  on a.id = u.id
  
  where u.id is null
  </code></pre>
  
  <p>What would be the Python equivalent? I cannot think of a way to translate this where statement into pandas syntax.</p>
  
  <p>The only way I can think of is to add an arbitrary field to people_usa (e.g. <code>people_usa['dummy']=1</code>), do a left join, then take only the records where 'dummy' is nan, then delete the dummy field - which seems a bit convoluted.</p>
  
  <p>Thanks!</p>