python字典嵌套字典构造_Python-从嵌套字典中的项目构造pandas DataFrame

小编典典

大熊猫MultiIndex由元组列表组成。因此,最自然的方法是调整输入字典的形状,使其键为与所需的多索引值相对应的元组。然后,你可以使用pd.DataFrame.from_dict,使用选项来构建数据框orient='index':

user_dict = {12: {'Category 1': {'att_1': 1, 'att_2': 'whatever'},

'Category 2': {'att_1': 23, 'att_2': 'another'}},

15: {'Category 1': {'att_1': 10, 'att_2': 'foo'},

'Category 2': {'att_1': 30, 'att_2': 'bar'}}}

pd.DataFrame.from_dict({(i,j): user_dict[i][j]

for i in user_dict.keys()

for j in user_dict[i].keys()},

orient='index')

att_1 att_2

12 Category 1 1 whatever

Category 2 23 another

15 Category 1 10 foo

Category 2 30 bar

一种替代方法是通过串联组件数据框来构建数据框:

user_ids = []

frames = []

for user_id, d in user_dict.iteritems():

user_ids.append(user_id)

frames.append(pd.DataFrame.from_dict(d, orient='index'))

pd.concat(frames, keys=user_ids)

att_1 att_2

12 Category 1 1 whatever

Category 2 23 another

15 Category 1 10 foo

Category 2 30 bar

2020-02-19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值