我有一个字典,想将其转换为多级列
dataframe
,索引将成为字典最外层键。my_dict = {'key1': {'sub-key1': {'sub-sub-key1':'a','sub-sub-key2':'b'}, 'sub-key2': {'sub-sub-key1':'aa','sub-sub-key2':'bb'}},
'key2': {'sub-key1': {'sub-sub-key1':'c','sub-sub-key2':'d'}, 'sub-key2': {'sub-sub-key1':'cc','sub-sub-key2':'dd'}}}
My desired output should look like:
sub-key1 sub-key2
sub-sub-key1 sub-sub-key2 sub-sub-key1 sub-sub-key2
key1 a b aa bb
key2 c d cc dd
我尝试使用concat
和pd.concat({k: pd.DataFrame.from_dict(my_dict, orient='index') for k, v in d.items()}, axis=1)
,但结果不如预期。
我还尝试重新组织字典。
reformed_dict = {}
for outerKey, innerDict in my_dict.items():
for innerKey, values in innerDict.items():
reformed_dict[(outerKey, innerKey)] = values
pd.DataFrame(reformed_dict)
这一次的结果仍然不正确。最高级别的列和索引位置被交换了。
有其他的方法可以解决这个问题吗?