亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas df 到多個嵌套字典/json

Pandas df 到多個嵌套字典/json

慕沐林林 2021-12-29 10:18:17
我在將 df 轉換為 3 級嵌套字典時遇到問題,有沒有辦法在沒有循環每一行的丑陋函數的情況下做到這一點?類似于 .groupby .apply 的東西?輸入/DF:project,stage,error_code,countProject_1,stage_1,0,8Project_1,stage_1,1103,3Project_1,stage_2,0,4Project_1,stage_2,1103,2Project_2,stage_1,0,14Project_2,stage_1,1103,2Project_2,stage_1,1105,1Project_2,stage_2,0,5期望的輸出:[    'Project_1': {        'stage_1': {            '0': 8,            '1103': 3        },        'stage_2': {            '0': 14,            '1103': 2        }    },    'Project_2': {        'stage_1': {            '0': 14,            '1103': 2,            '1105': 1        },        'stage_2': {            '0': 5,        }    }]
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

你可以用groupby和unstack


d=df.groupby(['project','stage']).\

        apply(lambda x : dict(zip(x['error_code'],x['count']))).\

           unstack(0).to_dict()

Out[12]: 

{'Project_1': {'stage_1': {0: 8, 1103: 3}, 'stage_2': {0: 4, 1103: 2}},

 'Project_2': {'stage_1': {0: 14, 1103: 2, 1105: 1}, 'stage_2': {0: 5}}}


查看完整回答
反對 回復 2021-12-29
  • 1 回答
  • 0 關注
  • 258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號