使用pandas合并两个dict

2024-09-29 21:45:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两条格言如下:

{
"states": 
         [
           {
             "status": "BV",  
             "median": 240.0 
            }, 
            {
             "status": "CORR", 
             "median": 720.0
            }, 
         ]
}   

以及

{
"diseases": [
    {
        "status": "BV",  
        "median": 100.0,
        "disease_name": "Lupus"
    }, 
    {
        "status": "BV", 
        "median": 128.0,
        "disease_name": "Pulmonary Arterial Hypertension"
    }, 
    {
        "status": "CORR", 
        "median": 321.0,
        "disease_name": "Pulmonary Arterial Hypertension"
    }, 
    {
        "status": "CORR",
        "median": 670.0,
        "disease_name": "Rheumatology"
    }
]
}

如何使用pandas将两个dict合并成一个dict,以便输出如下:

{
"states": 
        [
            {
                "status": "BV",
                "median": 240.0, 
                "drilldown": "BV"
            }, 
            {
                "status": "CORR",
                "median": 720.0,
                "drilldown": "CORR"
            }
        ],

"drilldown": 
        [
          {
            "name":"BV",
            "data":
                    [
                      {
                        "median": 100.0,
                        "disease_name": "Lupus"
                      },
                      {
                        "median": 128.0, 
                        "disease_name": "Pulmonary Arterial Hypertension"
                      }
                    ]        
          },               
          {
            "name":"CORR",
            "data":
                    [
                      {
                        "median": 321.0,
                        "disease_name": "Lupus"
                      },
                      {
                        "median": 670.0, 
                        "disease_name": "Rheumatology"
                      }
                  ]        
            }
          ]
}

我确实试着通过遍历列表来尝试一下,但它看起来非常粗糙,而且计算复杂很贵。是吗想知道有没有更好的方法来对付熊猫?你知道吗


Tags: namedatastatusdictmedianstatesbvdisease
2条回答

您可以使用concat([list of dict])merge([list of dict])来获得所需的结果。你知道吗

Pandasconcatmerge函数不是为dict构建的,它们是为DataFrame和Series等构建的

您可以在this现有问题中找到帮助。你知道吗

combined = {}
combined.update(d1)
combined.update(d2)

相关问题 更多 >

    热门问题