我认为熊猫没有内置任何东西可以创建嵌套的数据字典。以下是一些代码,对于带有MultiIndex的系列,通常应使用
defaultdict
嵌套代码遍历MultIndex的每个级别,将层添加到字典中,直到将最深层分配给Series值为止。
In [99]: from collections import defaultdictIn [100]: results = defaultdict(lambda: defaultdict(dict))In [101]: for index, value in grouped.itertuples(): ...: for i, key in enumerate(index): ...: if i == 0: ...: nested = results[key] ...: elif i == len(index) - 1: ...: nested[key] = value ...: else: ...: nested = nested[key]In [102]: resultsOut[102]: defaultdict(<function <lambda> at 0x7ff17c76d1b8>, {2010: defaultdict(<type 'dict'>, {'govnr': {'pati mara': 500.0, 'jess rapp': 80.0}, 'mayor': {'joe smith': 100.0, 'jay gould': 12.0}})})In [106]: print json.dumps(results, indent=4){ "2010": { "govnr": { "pati mara": 500.0, "jess rapp": 80.0 }, "mayor": { "joe smith": 100.0, "jay gould": 12.0 } }}


