title: pandas.DataFrame.from_dict not preserving order using OrderedDict
body: <p>I want to import OData XML datafeeds from the Dutch Bureau of Statistics (CBS) into our database. Using lxml and pandas I thought this should be straigtforward. By using OrderDict I want to preserve the order of the columns for readability, but somehow I can't get it right.</p>
  
  <pre><code>from collections import OrderedDict
  from lxml import etree
  import requests
  import pandas as pd
  
  
  # CBS URLs
  base_url = 'http://opendata.cbs.nl/ODataFeed/odata'
  datasets = ['/37296ned', '/82245NED']
  
  feed = requests.get(base_url + datasets[1] + '/TypedDataSet')
  root = etree.fromstring(feed.content)
  
  # all record entries start at tag m:properties, parse into data dict
  data = []
  for record in root.iter('{{{}}}properties'.format(root.nsmap['m'])):
      row = OrderedDict()
      for element in record:
          row[element.tag.split('}')[1]] = element.text
      data.append(row)
  
  df = pd.DataFrame.from_dict(data)
  df.columns
  </code></pre>
  
  <p>Inspecting <code>data</code>, the OrderDict is in the right order. But looking at <code>df.head()</code> the columns have been sorted alphabetically with CAPS first?</p>
  
  <p>Help, anyone?</p>