My dictionary looks like this:
{\'x\': {\'b\': 10, \'c\': 20}, \'y\': {\'b\': \'33\', \'c\': 44}}
I want to get a dataframe that looks like
first create the df using from_dict, then call stack and reset_index to get the shape you desire, you then need to rename the cols, sort and reset the index:
In [83]:
d={'x': {'b': 10, 'c': 20}, 'y': {'b': '33', 'c': 44}}
df = pd.DataFrame.from_dict(d, orient='index').stack().reset_index()
df.columns = ['col1', 'col2', 'val']
df.sort_values(['col1', 'col2'], inplace=True)
df.reset_index(drop=True, inplace=True)
df
Out[83]:
col1 col2 val
0 x b 10
1 x c 20
2 y b 33
3 y c 44