title: NaNs when subtracting dataframes pandas
body: <p>I have two dataframes with only somewhat overlapping indices and columns.</p>
  
  <pre><code>old = pd.DataFrame(index = ['A', 'B', 'C'],
                     columns = ['k', 'l', 'm'],
                     data = abs(np.floor(np.random.rand(3, 3)*10)))
  
  new = pd.DataFrame(index = ['A', 'B', 'C', 'D'],
                     columns = ['k', 'l', 'm', 'n'],
                     data = abs(np.floor(np.random.rand(4, 4)*10)))
  </code></pre>
  
  <p>I want to calculate the difference between them and tried</p>
  
  <pre><code>delta = new - old
  </code></pre>
  
  <p>This gives lots of NaNs where indices and columns do not match. I would like to treat the abscence of the indices and columns as zeroes, (old['n', 'D'] = 0). old will always be a subspace of new.</p>
  
  <p>Any ideas?</p>
  
  <p>EDIT:
  I guess I didn't explain it thoroughly enough. I don't want to fill the delta dataframe with zeroes. I want to treat missing indices and columns in old as if they were zeroes. I would then get the value in new['n', 'D'] in delta instead of a NaN.</p>