Pandas 如何从多级字典中构造DataFrame

假设我们有一个嵌套的字典或者说多级字典

  • 第一级是研究对象,比如ID
  • 第二级是研究方法,比如Method
  • 第三级是研究属性,比如Attr
    该如何把这样的嵌套字典变成DataFrame呢?

例如,我们的嵌套字典是下面这个样子的

nested_dict = {
                         'ID 1':{ 
                                    'Method 1': {
                                                        'Attr 1': 1,
                                                        'Attr 2': 1,
                                                        },
                                    'Method 2': {
                                                        'Attr 1': 1,
                                                        'Attr 2': 1,
                                                        },
                                   },
                         'ID 2':{
                                    'Method 1': {
                                                        'Attr 1': 1,
                                                        'Attr 2': 1,
                                                        },
                                    'Method 2': {
                                                        'Attr 1': 1,
                                                        'Attr 2': 1,
                                                        },
                                   }
                   }

对于这样的三级字典,可以将前两级组成MultiIndex,然后使用pandas的from_dict创建Dataframe,如下

pd.DataFrame.from_dict({(i, j): nested_dict[i][j]
                                                 for i in nested_dict.keys()
                                                 for j in nested_dict[i].keys()},
                                         orient='index')
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较...
    shuhanrainbow阅读 4,708评论 6 19
  • 引言 原始的数据有时候是一串文字(过度聚合),有时候是分散在多个位置的分离文件(过于分散)。数据的预处理就是要把原...
    DDuncan阅读 1,008评论 0 0
  • 一、什么是枚举字典 (1)所谓可枚举,是指按照代码编制规定,能够确定取值的部分。例如:“经济规模”,包括特大型、大...
    bjcathy_lili阅读 7,555评论 0 0
  •   多级索引:在一个轴上有多个(两个以上)的索引,能够以低维度形式来表示高维度的数据。单级索引是Index对象,多...
    惑也阅读 31,740评论 1 20
  • 功能包括但不限于: 1.按轴自动或显式数据对齐功能的数据结构2.集成时间序列功能3.数学运算和约简4.灵活处理缺失...
    Shinichi新一君阅读 786评论 0 1

友情链接更多精彩内容