如何将嵌套的字典转换为熊猫数据框?

雷可·乔纳坦

我正在尝试转换一个具有其他数据框内部的数据框,例如:

{
  'id': 3241234,
  'data': {
           'name':'carol',
           'lastname': 'netflik',
           'office': {
                       'num': 3543,
                       'department': 'trigy'
                    }
        }


}

我尝试使用:

pd.DataFrame.from_dict(data)

但是结果数据框看起来像:

               id                                  data
lastname  3241234                               netflik
name      3241234                                 carol
office    3241234  {'num': 3543, 'department': 'trigy'}

任何想法?

特伦顿·麦金尼

加载JSON / dict:

  • 利用.json_normalized扩大dict
import pandas as pd

data = {'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}

df = pd.json_normalize(data)

# display(df)
        id data.name data.lastname  data.office.num data.office.department
0  3241234     carol       netflik             3543                  trigy

如果数据框的列为 dicts

# dataframe with column of dicts
df = pd.DataFrame({'col2': [1, 2, 3], 'col': [data, data, data]})

# display(df)
   col2                                                                                                                col
0     1  {'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}
1     2  {'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}
2     3  {'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}

# normalize the column of dicts
normalized = pd.json_normalize(df['col'])

# join the normalized column to df
df = df.join(normalized).drop(columns=['col'])

# display(df)
   col2       id data.name data.lastname  data.office.num data.office.department
0     1  3241234     carol       netflik             3543                  trigy
1     2  3241234     carol       netflik             3543                  trigy
2     3  3241234     carol       netflik             3543                  trigy

如果数据帧有一列listsdicts

  • dicts需要从被删除lists.explode
data = [{'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}]

df = pd.DataFrame({'col2': [1, 2, 3], 'col': [data, data, data]})

# display(df)
   col2                                                                                                                  col
0     1  [{'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}]
1     2  [{'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}]
2     3  [{'id': 3241234, 'data': {'name': 'carol', 'lastname': 'netflik', 'office': {'num': 3543, 'department': 'trigy'}}}]

# explode the lists
df = df.explode('col').reset_index(drop=True)

# normalize the column of dicts
normalized = pd.json_normalize(df['col'])

# join the normalized column to df
df = df.join(normalized).drop(columns=['col'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将嵌套字典的值转换为熊猫数据框?

来自分类Linux

如何将熊猫数据框转换为分层字典

来自分类Dev

如何将python字典转换为熊猫数据框

来自分类Dev

如何将嵌套字典转换为pandas数据框?

来自分类Dev

如何将嵌套的字典转换为数据框

来自分类Dev

如何将嵌套字典转换为pandas数据框?

来自分类Dev

如何将嵌套字典转换为数据框?

来自分类Dev

如何将数据框转换为嵌套字典?

来自分类Dev

如何将熊猫数据框转换为嵌套json

来自分类Dev

如何将数据框字典转换为数据框?

来自分类Dev

如何将熊猫数据框转换为列表中的值的字典

来自分类Dev

如何将字典元组列表转换为熊猫数据框

来自分类Dev

如何将数组字典的数组转换为熊猫数据框?

来自分类Dev

如何将字典的键转换为一栏式的熊猫数据框?

来自分类Dev

熊猫:如何将具有重复索引值的数据框转换为字典

来自分类Dev

如何将嵌套字典列表转换为pandas数据框?

来自分类Dev

如何将数据框中的列转换为python中的嵌套字典?

来自分类Dev

如何将多标头熊猫数据框转换为嵌套词典列表

来自分类Dev

将字典转换为熊猫数据框?

来自分类Dev

将字典转换为熊猫数据框

来自分类Dev

将熊猫数据框转换为字典

来自分类Dev

将字典转换为熊猫数据框

来自分类Dev

如何将生成的数据转换为熊猫数据框

来自分类Dev

将数据框转换为嵌套字典

来自分类Dev

将嵌套字典转换为数据框

来自分类Dev

如何从熊猫数据框转换为字典

来自分类Dev

如何将列表/字典转换为数据框?

来自分类Dev

如何将字典转换为多级数据框?

来自分类Dev

如何将数据框转换为字典python

Related 相关文章

热门标签

归档