我正在尝试从具有嵌套字典的值列表中创建一个数据框,所以这是我的数据
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,但仍然无法正常工作。 任何帮助将非常感激!谢谢
答案 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,其索引为a
和b
值。第二行将其设置为newcol
列。