美文网首页
Pandas 如何从多级字典中构造DataFrame

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

作者: 四碗饭儿 | 来源:发表于2021-01-18 01:52 被阅读0次

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

  • 第一级是研究对象,比如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')
    

相关文章

网友评论

      本文标题:Pandas 如何从多级字典中构造DataFrame

      本文链接:https://www.haomeiwen.com/subject/ahltzktx.html