title: pandas concat generates nan values
body: <p>I am curious why a simple concatenation of two data frames in pandas:</p>
  
  <pre><code>shape: (66441, 1)
  dtypes: prediction    int64
  dtype: object
  isnull().sum(): prediction    0
  dtype: int64
  
  shape: (66441, 1)
  CUSTOMER_ID    int64
  dtype: object
  isnull().sum() CUSTOMER_ID    0
  dtype: int64
  </code></pre>
  
  <p>of the same shape and both without NaN values </p>
  
  <pre><code>foo = pd.concat([initId, ypred], join='outer', axis=1)
  print(foo.shape)
  print(foo.isnull().sum())
  </code></pre>
  
  <p>can result in a lot of NaN values if joined.</p>
  
  <pre><code>(83384, 2)
  CUSTOMER_ID    16943
  prediction     16943
  </code></pre>
  
  <h2>How can I fix this problem and prevent NaN values being introduced?</h2>
  
  <p>Trying to reproduce it like </p>
  
  <pre><code>aaa  = pd.DataFrame([0,1,0,1,0,0], columns=['prediction'])
  print(aaa)
  bbb  = pd.DataFrame([0,0,1,0,1,1], columns=['groundTruth'])
  print(bbb)
  pd.concat([aaa, bbb], axis=1)
  </code></pre>
  
  <p>failed e.g. worked just fine as no NaN values were introduced.</p>