使用类似字典的结构访问Pandas数据框中的嵌套元素

6 pandas

我有一个数据框如下

In [19]: data_frame
Out[19]: 
                    _id                                              hero
0  55c97138e5fecec26959f3b0  {u'info': {u'id': u'0001', u'name': u'superman'}}
Run Code Online (Sandbox Code Playgroud)

为了提交条目的名称,我执行以下列表理解.有这么简单的方法吗?因为此方法不会针对更多嵌套属性进行缩放

In [27]: [y['name'] for y in [x['info'] for x in data_frame['hero']]]
Out[27]: [u'superman']
Run Code Online (Sandbox Code Playgroud)

任何见解都非常感谢.谢谢.

fir*_*ynx 3

您可以将对象解包到 DataFrame 中,如下所示:

df[(['_id', 'name'])] = df.hero.apply(
    lambda x: pd.Series(x['info'].values(), index=x['info'].keys())
    )

   id                            name   _id  hero
0  55c97138e5fecec26959f3b0  superman  0001  {u'info': {u'id': u'0001', u'name': u'superman'}} 
Run Code Online (Sandbox Code Playgroud)

然后访问列等元素。