【问题标题】:Convert List to DataFrame and Split nested dictionary inside DataFrame column - Python 3.6将列表转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典 - Python 3.6
【发布时间】:2019-03-03 11:24:22
【问题描述】:

我想将 List 转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典,下面是我的代码。

import pandas

d = [{"key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":{"id":"elf"}}]
pd.DataFrame(d)

我想将“字段”拆分为新列“id”

key name    level   hasData fields  id
1000000 Aelf    0   true    {'id': 'elf'}   elf

【问题讨论】:

    标签: python python-3.x pandas list dictionary


    【解决方案1】:

    使用concat

    pd.concat([df,df.fields.apply(pd.Series)],axis=1)
    Out[308]: 
              fields hasData      key  level  name   id
    0  {'id': 'elf'}    true  1000000      0  Aelf  elf
    

    【讨论】:

      【解决方案2】:

      您可以将joinpop + tolist 一起使用:

      d = [{"key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":{"id":"elf"}},
           {"key":2000000, "name":"Cdaf", "level":1, "hasData":"false", "fields":{"id":"deer"}}]
      df = pd.DataFrame(d)
      
      res = df.join(pd.DataFrame(df.pop('fields').tolist()))
      

      结果:

        hasData      key  level  name    id
      0    true  1000000      0  Aelf   elf
      1   false  2000000      1  Cdaf  deer
      

      【讨论】:

        猜你喜欢
        • 2018-10-26
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        • 1970-01-01
        • 2018-10-22
        • 2019-08-15
        • 2016-02-16
        相关资源
        最近更新 更多