繁体   English   中英

如何将带有 JSON 文档列的表格转换为几个熊猫数据框 [关闭]

[英]How to transform table with JSON documents columns to several panda data frames [closed]

I have a dataframe in Python pandas with rows of NoSQL documents and json strings column and I want to transform it into flat table with specific keys as column name and values as data in rows. 以下是我开始的示例表:

诊断
1 一个
2 b

'a' & 'b' 看起来像:

[{"icd10":"I611","icd10Name":"Intracerebral haemorrhage in hemisphere, cortical","diagType":"1","diagTypeName":"Principal Diagnosis"},{"icd10":"I10","icd10Name":"Essential (primary) hypertension","diagType":"2","diagTypeName":"Comorbidity (โรคอื่นที่เป็นร่วมด้วย)"},{"icd10":"E789","icd10Name":"Disorder of lipoprotein metabolism,unspecified","diagType":"2","diagTypeName":"Comorbidity (โรคอื่นที่เป็นร่วมด้วย)"}]

我想将此表提取到另一个表,例如:

诊断 主要诊断 合并症
1 一个 I611 I10、E789
2 b ... ...

请随时参考此处的图片:

图像

非常感谢你。 另外,请注意“主要诊断”并不总是排在第一位。

尝试将其转换为 lambda function。 遍历字典以分离您的值。 假设主要诊断始终是单一值,但可以有 1 个或多个次要诊断。

data_dict = [{"icd10":"I611","icd10Name":"Intracerebral haemorrhage in hemisphere, cortical","diagType":"1","diagTypeName":"Principal Diagnosis"},{"icd10":"I10","icd10Name":"Essential (primary) hypertension","diagType":"2","diagTypeName":"Comorbidity (โรคอื่นที่เป็นร่วมด้วย)"},{"icd10":"E789","icd10Name":"Disorder of lipoprotein metabolism,unspecified","diagType":"2","diagTypeName":"Comorbidity (โรคอื่นที่เป็นร่วมด้วย)"}]


co_diag = []
for d in data_dict:
    if 'Principal Diagnosis' in d.values():
        pd = d['icd10']
    else:
        co_diag.append(d['icd10'])
        co_diag_str = ', '.join(co_diag)

在这些步骤中,您应该能够编写所需的列。

Output 如果循环:

In [19]: co_diag_str
Out[19]: 'I10, E789'

In [20]: pd
Out[20]: 'I611'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM