我有一个数据框如下
In [19]: data_frame
Out[19]:
_id hero
0 55c97138e5fecec26959f3b0 {u'info': {u'id': u'0001', u'name': u'superman'}}
为了过滤掉条目的名称字段,我进行了以下列表理解。有没有更简单的方法来做到这一点?因为此方法不会针对更多嵌套属性进行扩展
In [27]: [y['name'] for y in [x['info'] for x in data_frame['hero']]]
Out[27]: [u'superman']
任何见解都非常感激。
谢谢。
您可以将对象解包到 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'}}
然后访问列等元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)