title: Make new rows in Pandas dataframe based on df.str.findall matches?
body: <p>I have a dataframe <code>current_df</code> I want to create a new row for each regex match that occurs in each entry of <code>column_1</code>. I currently have this below:</p>
  
  <p><code>current_df['new_column']=current_df['column_1'].str.findall('(?&lt;=ABC).*?(?=XYZ)')</code></p>
  
  <p>This appends a list of the matches for the regex in each row. How do I create a new row for each match? I'm guessing something with list comprehension, but I'm not sure what it'd be exactly.</p>
  
  <p>The output df would be something like:</p>
  
  <pre><code>    column_1                                                                 column2        new_column
      ABC_stuff_to_match_XYZ_ABC_more_stuff_to_match_XYZ...                    data           _stuff_to_match_
      ABC_stuff_to_match_XYZ_ABC_more_stuff_to_match_XYZ...                    data           _more_stuff_to_match_
      ABC_a_different_but_important_piece_of_data_XYZ_ABC_find_me_too_XYZ...   different_stuff _a_different_but_important_piece_of_data_
      ABC_a_different_but_important_piece_of_data_XYZ_ABC_find_me_too_XYZ...   different_stuff _find_me_too_                
  </code></pre>