I have a dictionary, which calls for multi-indexing like the following:
dict = {'Main1' : {'A1' : {'a1' : 0},
'A2' : {'a2' : 15},
'A3' : {'a3' : 22},
'A4' : {'a4' : 130}},
'Main2' : {'B1' : {'b1' : 150},
'B2' : {'b2' : 30},
'B3' : {'b3' : 1}}}
And I would like to have it imported on Python as a pandas DataFrame like this :
col1 col2 col3 col4
Main 1 A1 a1 0
Main 1 A2 a2 15
Main 1 A3 a3 22
Main 1 A4 a4 130
Main 2 B1 b1 150
Main 2 B2 b2 30
Main 2 B3 b3 1
Is that even possible or should I try to find another way to import my data ?
You can do it so:
df = pd.DataFrame([(k1, k2, k3, v) for k1, k23v in dict.items()
for k2, k3v in k23v.items()
for k3, v in k3v.items()
])
df.columns = ['Col1', 'Col2', 'Col3', 'Col4']
Output:
Col1 Col2 Col3 Col4
0 Main1 A1 a1 0
1 Main1 A3 a3 22
2 Main1 A2 a2 15
3 Main1 A4 a4 130
4 Main2 B1 b1 150
5 Main2 B2 b2 30
6 Main2 B3 b3 1