使用pandas合并两个dicts

时间:2015-09-04 09:57:30

标签: python list dictionary pandas

我有2个dicts,如下:

<tr ng-repeat="row in data | filter:{columns: filt.something} | filter: {some: thing}">

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

如何使用pandas将2个dicts合并为一个,以便输出如下:

{
"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"
    }
]
}

我确实试过通过遍历列表给它一个镜头,但它看起来非常h​​acky并且计算成本很高。想知道是否有更好的方法来做Pandas?

2 个答案:

答案 0 :(得分:1)

Pandas concatmerge函数不是为处理dicts而构建的,它们是为DataFrame和Series等构建的。

您可以在this现有问题中找到帮助。

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

答案 1 :(得分:0)

您可以使用 concat([dict]列表)合并([dict]列表)来获得所需的结果。