将包含字典的列表转换为 Pandas 数据框

时间:2021-02-23 12:09:35

标签: python pandas dataframe dictionary

首先我有一个这样的列表:

lst = [['amazon', {'param_A': '789', 'param_B': '1234'}]]`

第一个元素总是代表一家商店。

我想将此列表转换为数据框。

我认为最简单的方法是创建一个字典:

dicts={'shop':['amazon'],'param_A': ['789'], 'param_B': ['1234']}

下一步是:pd.DataFrame(dicts)

这样我得到一个数据框,其中字典的键是列名。

enter image description here

如何创建字典?你知道更好的方法吗?

1 个答案:

答案 0 :(得分:1)

首先创建字典列表并传递给 DataFrame 构造函数:

lst = [['amazon', {'param_A': '789', 'param_B': '1234'}],
       ['amazon', {'param_A': '22', 'param_B': '1234'}]]

L = [{**{'shop': x[0]}, **x[1]} for x in lst]
#similar solution
L = [dict(shop=x[0], **x[1]) for x in lst]

df = pd.DataFrame(L)
print (df)
     shop param_A param_B
0  amazon     789    1234
1  amazon      22    1234
相关问题