title: Subtracting DataFrames resulting in unexpected numbers
body: <p>I'm trying to subtract one data frame from another which all results should result in a 0 or blank based on the data in each my current excel files but will result in 0, 1, 2, or blank in the future. While some do result in a 0 or blank I'm also getting a -1 and 1. Any help that can be provided will be appreciated.</p>
  <p>The two Excel sheets are identical except for number changes in second column.</p>
  <p>Example</p>
  <pre><code>ExternalId TotalInteractions
  name1            1
  name2            2
  name3            2
  name4            1
  </code></pre>
  <p>Both sheets will look like the example and the output will look the same. I just need the difference between the two sheets</p>
  <pre><code>def GCList():
      df1 = pd.read_excel('NewInter.xlsx')
      df2 = pd.read_excel('PrevInter.xlsx')
  
      df3 = df1['ExternalId']
      df4 = df1['TotalInteractions']
      df5 = df2['TotalInteractions']
      df6 = df4.sub(df5)
      frames = (df3, df6)
      df = pd.concat(frames, axis = 1)
  
  
      df.to_excel('GCList.xlsx')
  
  
  GCList()
  </code></pre>
  <p>I managed to create a partial answer to getting the unexpected numbers. My problem now is that NewInter has more names than PrevInter does. Which results in a blank in TotalInteractions next to the new ExternalId. Any idea how to make it if it there is a blank to accept the value from NewInter?</p>
  <pre><code>def GCList():
      df1 = pd.read_excel('NewInter.xlsx')
      df2 = pd.read_excel('PrevInter.xlsx')
  
      
      df3 = pd.merge(df1, df2, on = 'ExternalId', how = 'outer')
      df4 = df3['TotalInteractions_x']
      df5 = df3['TotalInteractions_y']
      df6 = df3['ExternalId']
      df7 = df4 - df5
      frames = [df6,df7]
      df = pd.concat(frames, axis = 1)
      df.to_excel('GCList.xlsx')
  
  
  GCList()
  </code></pre>