title: Pandas: DataFrame op DataFrame Results in NaNs
body: <p>Why do simple DataFrame op DataFrame operations result in a union'ed DataFrame? Pandas documentation mentions unionizing because of alignment issues. I don't see any alignment issues with df1 and df2. Aren't alignment issues about different shapes, different dtypes, or different indexes?</p>
  <pre><code>df1 = pd.DataFrame([[1,2],[3,4]],columns=list('AB'))
  df2 = pd.DataFrame([[5,6],[7,8]],columns=list('CD'))
  
  &gt;&gt; df1*df2
  
      A   B   C   D
  0   NaN NaN NaN NaN
  1   NaN NaN NaN NaN
  </code></pre>