title: detect pandas column names if similiar match and process
body: <p>I have data that gets imported into a Pandas dataframe where that elements that are lists are being separated into new columns automatically.  My data was originally <a href="https://root.cern.ch/root-files" rel="nofollow noreferrer">.root</a> files and I am importing them in to Pandas with <a href="https://uproot.readthedocs.io/en/latest/" rel="nofollow noreferrer">Uproot</a></p>
  
  <p>Below is example data where the column physics[0] and physics<a href="https://uproot.readthedocs.io/en/latest/" rel="nofollow noreferrer">2</a> were originally elements of a list </p>
  
  <pre><code>data = {'physics[0]': [1,2,3], 'physics[1]': [4,5,6], 'yes': [7,8,9], 'no': [10,11,12]}
  df = pd.DataFrame(data)
  
  
  
     physics[0]  physics[1]  yes  no 
  0           1           4    7  10  
  1           2           5    8  11  
  2           3           6    9  12  
  </code></pre>
  
  <p>I am trying to come up with a technique to detect similar column names and recreate the elements as list.  Here is what I have so far:</p>
  
  <pre><code>lst = [col for col in df.columns if 'physics' in col]
  
  df['physics']=df[lst].values.tolist()
  
      yes  no physics
  0    7  10  [1, 4]
  1    8  11  [2, 5]
  2    9  12  [3, 6]
  </code></pre>
  
  <p>which works.  I won't always know before hand what the column names will be when this happens.  But I'd like to be able to detect if the names are similar automatically and perform the above list comprehension.  </p>