以独特的方式展平包含嵌套字典的列表的数据框列

Posted

技术标签:

【中文标题】以独特的方式展平包含嵌套字典的列表的数据框列【英文标题】:Flatten the data frame column of list containing nested dictionaries in a unique way shown 【发布时间】:2021-08-22 07:43:00 【问题描述】:

以如下所示的方式展平嵌套字典列表的数据框列。

伙计们,我是 python 新手,但我正在努力实现目标,但不幸的是无法做到。

当前数据框:

col1    col2
path1    [sheetname1:value11:length11,value12:length12,value13:length13...,
          sheetname2:value21:length21,value22:lenth22,...]

产生的数据农场:

col1    col2          col3     col4
path1   sheetname1   value11     length11
path1   sheetname1   value12     length12
path1   sheetname1   value13     length13
...
...
...
path1   sheetname2  value21    length21
path1   sheetname2  value22    length22
...
...

【问题讨论】:

【参考方案1】:

试试:

data = []
for col1, row in zip(df["col1"], df["col2"]):
    for d in row:
        for k, v in d.items():
            for kk, vv in v.items():
                data.append("col1": col1, "col2": k, "col3": kk, "col4": vv)

df = pd.DataFrame(data)
print(df)

打印:

    col1        col2     col3      col4
0  path1  sheetname1  value11  length11
1  path1  sheetname1  value12  length12
2  path1  sheetname1  value13  length13
3  path1  sheetname2  value21  length21
4  path1  sheetname2  value22   lenth22

【讨论】:

我爱你,兄弟,你救了我的命,为你送上无数祝福!!

以上是关于以独特的方式展平包含嵌套字典的列表的数据框列的主要内容,如果未能解决你的问题,请参考以下文章

将字典列表的 Python 数据框列转换为具有单个元素的列

将字典映射到数据框列中的列表

数据框列中的嵌套列表,提取数据框列中列表的值 Pyspark Spark

将特定数据框列写入没有关联索引的字典值

如何访问 pandas 数据框列中的字典元素并对其进行迭代以创建填充有各自值的新列?

Pandas - 检查数据框列是不是包含字典中的键:值对