pandas.DataFrame.from_dict not preserving order using OrderedDict

Something in your example seems to be inconsistent, as data is a list and no dict, but assuming you really have an OrderedDict:

Try to explicitly specify your column order when you create your DataFrame:

# ... all your data collection
df = pd.DataFrame(data, columns=data.keys())

This should give you your DataFrame with the columns ordered just in exact the way they are in the OrderedDict (via the data.keys() generated list)


The above answer doesn't work for me and keep giving me "ValueError: cannot use columns parameter with orient='columns'".

Later I found a solution by doing this below and worked:

df = pd.DataFrame.from_dict (dict_data) [list (dict_data[0].keys())]