从字典列表到数据框架

2024-09-26 21:38:15 发布

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

假设我有以下列表:

comp1 = [
    {
        "key": "Chrome",
        "doc_count": 200798745
    },
    {
        "key": "Mobile Safari",
        "doc_count": 79919449
    },    
    {
        "key": "WebKit",
        "doc_count": 60544508
    }
]

comp2 = [
    {
        "key": "Chrome",
        "doc_count": 1231244
    },
    {
        "key": "Mobile Safari",
        "doc_count": 882075
    }
]

我想将它们转换为以下数据帧:

df = pd.DataFrame({'idx':['Chrome', 'Mobile Safari', 'WebKit'], 'comp1_vals':[200798745, 79919449, 60544508], 'comp2_vals':[1231244, 882075, np.nan]}).set_index('idx')
df
Out[37]: 
               comp1_vals  comp2_vals
idx                                  
Chrome          200798745   1231244.0
Mobile Safari    79919449    882075.0
WebKit           60544508         NaN

最好的方法是什么? 我想把每个列表转换成一个字典,其中的键将成为数据帧的索引,但看起来会很混乱,并且包含很多if-else语句。有什么好办法吗


Tags: 数据keydf列表doccountchromemobile
1条回答
网友
1楼 · 发布于 2024-09-26 21:38:15

使用pandas.merge

df = pd.merge(pd.DataFrame(comp1), pd.DataFrame(comp2), on='key', how='outer')
print(df)

输出:

             key  doc_count_x  doc_count_y
0         Chrome    200798745    1231244.0
1  Mobile Safari     79919449     882075.0
2         WebKit     60544508          NaN

相关问题 更多 >

    热门问题