为了账号安全,请及时绑定邮箱和手机立即绑定

从嵌套字典中的项目构建熊猫数据框架

从嵌套字典中的项目构建熊猫数据框架

哆啦的时光机 2019-07-22 20:31:55
从嵌套字典中的项目构建熊猫数据框架假设我有一个具有结构的嵌套字典‘user_dict’:第1级:用户ID(长整数)2级:类别(字符串)第3级:分类属性(浮点数、INT等)例如,本词典的条目如下:user_dict[12] = {     "Category 1": {"att_1": 1,                     "att_2": "whatever"},     "Category 2": {"att_1": 23,                     "att_2": "another"}}“user_dict”中的每个项都具有相同的结构,“user_dict”包含大量的项目,我希望将这些项提供给熊猫DataFrame,从属性构建系列。在这种情况下,分层索引对此非常有用。具体来说,我的问题是,是否有一种方法可以帮助DataFrame构造器理解这个系列应该从字典中的“第3级”的值构建?如果我尝试这样的方法:df = pandas.DataFrame(users_summary)“第1级”(用户id)中的项被视为列,这与我想要实现的(以用户id作为索引)相反。我知道我可以在遍历字典条目之后构建这个系列,但是如果有一种更直接的方法,这将是非常有用的。一个类似的问题是,是否有可能从文件中列出的JSON对象构建熊猫DataFrame。
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

pd.concat接受字典。考虑到这一点,可以通过使用词典理解若要构建将键映射到子框架的字典,请执行以下操作。

pd.concat({k: pd.DataFrame(v).T for k, v in user_dict.items()}, axis=0)

或,

pd.concat({
        k: pd.DataFrame.from_dict(v, 'index') for k, v in user_dict.items()
    }, 
    axis=0)


              att_1     att_212 Category 1     1  whatever   Category 2    23   another15 Category 1    
              10       foo   Category 2    30       bar


查看完整回答
反对 回复 2019-07-22
  • 3 回答
  • 0 关注
  • 395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信