将嵌套字典的pandas列列表转换为单独的列

时间:2019-01-02 21:19:20

标签: python json pandas dictionary

我有一个这样的Pandas DataFrame:

Name    Level     Skills

Matt     10       [{'Invisibility': True, 
                    'Powerfist': False, 
                    {'Elemental':[{'Fire': 10,
                                  'Water': 20,
                                  'Wind': 15,
                                  'Earth': 10}],
                     'Race': 'Human'},
                    'Resources': [{'Mana' : True,
                                   'Energy':[{'Solar' : True,
                                              'Air' : True,
                                              'Hydro': True}]}]}]
Jack     12       [{'Invisibility': True, 
                    'Powerfist': False, 
                    {'Elemental':[{'Fire': 5,
                                  'Water': 13,
                                  'Wind': 10,
                                  'Earth': 16}]},
                     'Race': 'Giant'},
                    'Resources': [{'Mana' : True,
                                   'Energy':[{'Solar' : True,
                                              'Air' : False,
                                              'Hydro': True}]}]}]
Zack     20       [{'Invisibility': False, 
                    'Powerfist': True, 
                    {'Elemental':[{'Fire': 10,
                                  'Water': 10,
                                  'Wind': 10,
                                  'Earth': 10}]},
                     'Race': 'Elf'},
                    'Resources': [{'Mana' : True,
                                   'Energy':[{'Solar' : True,
                                              'Air' : True,
                                              'Hydro': True}]}]}]

如您所见,Skills列中有一个字典列表和嵌套字典列表。

我希望Skills列中每个词典中的每个 LAST 键都具有自己的列。

赞:

 Name    Level    Invisibility     Powerfist    Fire   Water   Wind Earth   Race     Mana    Solar    Air    Hydro

 Matt     10      True             False        10     20      15     10    Human   True     True     True    True
 Jack     12      True             False         5     13      10     16    Giant   True     True     False    True
 Zack     20      False            True         10     10      10     10    Elf     True     True     True    True

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找json_normalize