My dictionary looks like this:
{\'x\': {\'b\': 10, \'c\': 20}, \'y\': {\'b\': \'33\', \'c\': 44}}
I want to get a dataframe that looks like
You can use a list comprehension to reorder your dict into a list of tuples where each tuple is a row and then you can sort your dataframe
import pandas as pd
d = {'x': {'b': 10, 'c': 20}, 'y': {'b': '33', 'c': 44}}
df = pd.DataFrame([(k,k1,v1) for k,v in d.items() for k1,v1 in v.items()], columns = ['Col1','Col2','Val'])
print df.sort(['Col1','Col2','Val'], ascending=[1,1,1])
Col1 Col2 Val
3 x b 10
2 x c 20
1 y b 33
0 y c 44