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

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

將帶有嵌套字典的 json 響應轉換為 pandas 數據框

將帶有嵌套字典的 json 響應轉換為 pandas 數據框

喵喔喔 2023-06-20 14:31:05
我有一個 json 響應,看起來像這樣:d={'results':[    {'key1':'1','key2':'item1'},    {'key1':'1','key2':{            'subkey20':[                    {'subkey201':'val',                     'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'}]}},    {'key1':'1','key2':'item1'},    {'key1':'1','key2':{            'subkey20':[                    {'subkey201':'val',                     'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'},                    {'subkey201':'val',                    'subkey202':val,                    'subkey203':'val',                    'subkey204':'value'}]}},]}我目前正在將其處理成一個 pandas 數據框,每個鍵從 key1 開始代表 pandas 數據框中的一列。到目前為止,我只能做:    df = pd.concat([pd.DataFrame(v) for k,v in d.items()], keys=d)    print (df)這不會產生我想要的結果。我能否獲得有關如何瀏覽此內容并獲取所有鍵作為列和值填充的熊貓數據框的幫助?我確實嘗試過使用 json_normalize 但是它將子鍵作為值而不是單獨的列處理到 key2 列中。
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

json_normalize()是工具。只需將它與一個一起使用兩次explode()


pd.json_normalize(pd.json_normalize(d["results"]).explode("key2.subkey20").to_dict(orient="records"))

輸出


key1   key2  key2.subkey20 key2.subkey20.subkey201 key2.subkey20.subkey202 key2.subkey20.subkey203 key2.subkey20.subkey204

   1  item1            NaN                     NaN                     NaN                     NaN                     NaN

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value

   1  item1            NaN                     NaN                     NaN                     NaN                     NaN

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value

   1    NaN            NaN                     val                     val                     val                   value



查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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