title: is it possible to use the str.extract to extract all rows in pandas?
body: <p>Here is my data frame.</p>
  
  <pre><code>    ID
  0   A01G
  1   A43B
  2   A45C
  3   A61B
  4   B01J
  5   B08B
  </code></pre>
  
  <p>and I have tried to extract them with this code</p>
  
  <pre><code>df.iloc[0, 1:2].str.extractall('(.)(.{2})(.*)')
  </code></pre>
  
  <p>and got this result</p>
  
  <pre><code>    0   1   2
  
  ID  A   01  G
  </code></pre>
  
  <p>but I would like to extract all rows, then I edit the code to this</p>
  
  <pre><code>df.iloc[:, 1:2].str.extract('(.)(.{2})(.*)')
  </code></pre>
  
  <p>to see all rows be extracted as my expected results</p>
  
  <pre><code>        0   1   2
  
  ID      A   01  G
          A   43  B
          A   45  C
          A   61  B
          B   01  J
          B   08  B
  </code></pre>
  
  <p>but this <code>df.iloc[:, 1:2].str.extract('(.)(.{2})(.*)')</code> is not working and also executed the error </p>
  
  <pre><code>---------------------------------------------------------------------------
  AttributeError                            Traceback (most recent call last)
  &lt;ipython-input-44-ef9138002e22&gt; in &lt;module&gt;()
  ----&gt; 1 df_new.iloc[:, 1:2].str.extractall('(.)(.{2})(.*)')
  
  ~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in __getattr__(self, name)
     4370             if self._info_axis._can_hold_identifiers_and_holds_name(name):
     4371                 return self[name]
  -&gt; 4372             return object.__getattribute__(self, name)
     4373 
     4374     def __setattr__(self, name, value):
  
  AttributeError: 'DataFrame' object has no attribute 'str'
  </code></pre>
  
  <p>how can I solve this problem?</p>