使用值作为列将嵌套的dict从json转换为数据帧

提姆

我有一个来自json的字典,其中我通过循环汇总通过API回答的每个人的调查结果,并希望将其转换为使用'title'值作为列的数据框,然后具有一个的所有答案一排的人。

这是参加调查的一个人的原始结果:

 {'0': {'title': 'What department do you work?',
    'results': {'0': '', '1': '', '2': '', '3': 'Unit D'}}, 
    '1': {'title': 'I can focus on clear targets?',
    'results': {'0': 'Yes', '1': '', '2': ''}}

数据框应如下所示:

Result ID  |  What department do you work in? | I can focus on clear targets
    1      |  Unit D                          | Yes 

我在熊猫中尝试了几种不同的选择,但无法获得理想的结果。

耶斯列尔

如果每个人都有一个非空值,请使用带有过滤功能的嵌套字典理解:

d =  {'0': {'title': 'What department do you work?',
    'results': {'0': '', '1': '', '2': '', '3': 'Unit D'}}, 
    '1': {'title': 'I can focus on clear targets?',
    'results': {'0': 'Yes', '1': '', '2': ''}}}

df = pd.DataFrame({v['title']: [v1 for k1, v1 in v['results'].items() if v1] 
                   for k, v in d.items()})
print (df)
  What department do you work? I can focus on clear targets?
0                       Unit D                           Yes

如果可能,请使用多个值:

d =  {'0': {'title': 'What department do you work?',
    'results': {'0': '', '1': '', '2': '', '3': 'Unit D'}}, 
    '1': {'title': 'I can focus on clear targets?',
    'results': {'0': 'Yes', '1': 'No', '2': ''}}}


df = pd.DataFrame({v['title']: pd.Series([v1 for k1, v1 in v['results'].items() if v1])
                   for k, v in d.items()})
print (df)
  What department do you work? I can focus on clear targets?
0                       Unit D                           Yes
1                          NaN                            No

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用1个公共值列作为数组字段将数据帧转换为JSON

python-将pandas数据帧转换为json或dict,然后使用非唯一列返回到df

使用“to_dict()”和“json.dump()”通过字典将数据帧转换为JSON

将pyspark数据帧转换为嵌套的json结构

使用groupby将数据帧转换为dict

将pandas数据帧转换为dict到JSON,取消拼合嵌套子键,删除None / NaN键

使用唯一列值作为键将Pandas Dataframe转换为_dict()

将dict值(列表)作为列将python字典转换为数据框,如果该列位于dict列表中则将1,0转换为数据框

将键作为行名并将值中的字典作为列将嵌套字典转换为数据框?

将键作为行名并将值中的字典作为列将嵌套字典转换为数据框?

如何使用值作为数组将嵌套数组转换为哈希或JSON

如何使用for循环将值转换为数据帧?

使用属性值将命名向量转换为数据帧

R - 使用多个值列将数据帧从长格式转换为宽格式

将Pandas数据帧转换为N对1字典,其中N列是指向单个列作为值的键

如何使用 PySpark 将复杂的 JSON 转换为数据帧?

将表的列和值转换为嵌套的JSON

sparksql将数据帧转换为json

R将数据帧转换为JSON

将熊猫数据帧转换为 json

使用值作为键将数据框转换为字典

使用 R 将多列数据帧转换为长 3 列数据帧

将数据帧从宽转换为长,但将堆叠的行作为列

使用 pyspark 将数据框列转换为嵌套的 JSON 结构

将嵌套的null值转换为数据帧内部的空字符串spark

将 Pandas 数据框转换为嵌套 JSON(不作为列表嵌套)

如何根据数据帧中的常见值将嵌套数据帧列表转换为计数矩阵

使用 OpenRefine 将 CSV 数据转换为嵌套的 JSON

如何使用python将嵌套的JSON数据转换为CSV?