title: Preserving column name order to_dict
body: <p>How can I preserve the order of the header name. The order isn't alphabetically, it is a custom order. It's fine in the dataframe but when I do <code>to_dict</code> the order isn't what I originally had. </p>
  
  <p>This is in a method I have in class. </p>
  
  <pre><code> #the list is much larger
   income_statements = pd.DataFrame(columns=['Year', 'Operating_Revenue', 'COGS','Income_Tax', 'Total_Revenue')
  
  for year in years:
              url = 'financials/standardized?identifier='+symbol+'&amp;statement=income_statement&amp;type=QTR&amp;fiscal_year='+str(year)+'&amp;date='+date
              fin_data = requests.get(self.get_intrino+url, auth=HTTPBasicAuth(intrino_uname, intrino_pw)).json()['data']
              row = []
              row.append(year)
              for i in range(len(fin_data)):
                  row.append( fin_data[i]['value'] )
              income_statements.loc[len(income_statements)] = row
  </code></pre>
  
  <p>I then call it.. this is just an example but I take the return of my method
  <code>income_statements.to_dict()</code></p>
  
  <p>It ends up showing 'Income_Tax' first instead of 'Year'. Is there a way to preserve the header column names?</p>