title: apply changes to the column names of a dataframe
body: <p>I have a dataframe and I would like to change the column names. Currently I am using the method below which involves transposing, reindexing, and transposing back. Theres got to be a simpler way.....</p>
  
  <p>any suggestions are appreciated</p>
  
  <pre><code>import pandas as pd
  
  #make a dataframe with wacky column names
  d = {'garbled #### one' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd']),
       'garbled ### two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
  df = pd.DataFrame(d)
  
  #fix the column names by transposing, reseting index, string manipulation,
  #and transposing back  
  df = df.T
  df = df.reset_index()
  df['index'] = df['index'].apply(lambda x: x.split()[0]+ " " +x.split()[2])
  df = df.set_index('index')
  df = df.T
  df
  
  index   garbled two garbled one
  a    1   1
  b    2   2
  c    3   3
  d    4   4
  </code></pre>
  
  <p>thanks,
  zach cp</p>