从嵌套字典创建数据框

时间:2020-04-17 18:03:26

标签: python-3.x pandas dask

我正在尝试从具有嵌套字典的值列表中创建一个数据框,所以这是我的数据

 d=[{'user': 200,
 'p_val': {'a': 10, 'b': 200},
 'f_val': {'a': 20, 'b': 300},
 'life': 8},
  {'user': 202,
 'p_val': {'a': 100, 'b': 200},
 'f_val': {'a': 200, 'b': 300},
 'life': 8}]

我正尝试将其转换为数据框,如下所示:

user new_col f_val   p_val life
200   a        20     10    8
200   b        300    200   8
202   a        200    100   8
202   b        300    200   8

我查看了其他答案,但没有一个符合我的要求。 我能找到的最接近的是this,但仍然无法正常工作。 任何帮助将非常感激!谢谢

1 个答案:

答案 0 :(得分:2)

尝试

df = pd.concat([pd.DataFrame(e) for e in d])
df.reset_index().rename(columns={'index': 'newcol'})

newcol  user    p_val   f_val   life
0   a   200 10  20  8
1   b   200 200 300 8
2   a   202 100 200 8
3   b   202 200 300 8

第一行创建一个DataFrame,其索引为ab值。第二行将其设置为newcol列。