title: Pandas extactall: get None value if no match was found
body: <p>Say I have a dataframe</p>
  <pre><code>df = pd.DataFrame({
      'column_1': ['ABC DEF', 'JKL', 'GHI  ABC', 'ABC ABC', 'DEF GHI', 'DEF', 'DEF DEF', 'ABC GHI DEF ABC'],
      'column_2': [9, 2, 3, 4, 6, 2, 7, 1 ]})
  </code></pre>
  <pre><code>          column_1  column_2
  0          ABC DEF         9
  1              JKL         2
  2         GHI  ABC         3
  3          ABC ABC         4
  4          DEF GHI         6
  5              DEF         2
  6          DEF DEF         7
  7  ABC GHI DEF ABC         1
  </code></pre>
  <p>I am using extract all to get the matched pattern in my dataframe.</p>
  <pre><code>df_['column_1'].str.extractall('(ABC)|(DEF)').groupby(level=0).first()
  </code></pre>
  <p>I get</p>
  <pre><code>      0     1
  0   ABC   DEF
  2   ABC  None
  3   ABC  None
  4  None   DEF
  5  None   DEF
  6  None   DEF
  7   ABC   DEF
  </code></pre>
  <p>However <strong>Expected output</strong> was (check index : 1)</p>
  <pre><code>      0     1
  0   ABC   DEF
  1  None  None
  2   ABC  None
  3   ABC  None
  4  None   DEF
  5  None   DEF
  6  None   DEF
  7   ABC   DEF
  </code></pre>