如果您有一个这样的字典列表:
listofdict = [{'value1': [1, 2, 3, 4, 5]}, {'value2': [5, 4, 3, 2, 1]}, {'value3': ['a', 'b', 'c', 'd', 'e']}]
如何将其转换为value1
,value2
和value3
为列名,列表为列的数据框架
我试着:
df = pd.DataFrame(listofdict)
但是它给我的值集中在一行,剩下的行作为NaN。
还有另一种方法:
df = pd.DataFrame({k:v for i in listofdict for k,v in i.items()})
输出:
value1 value2 value3
0 1 5 a
1 2 4 b
2 3 3 c
3 4 2 d
4 5 1 e
DataFrame
期望一个以列名作为键的字典,因此您需要将所有这些字典融合在一个字典中,如{'value1': [1, 2, 3, 4, 5], 'value2': [5, 4, 3, 2, 1], ... }
你可以试试
listofdict = [{'value1':[1,2,3,4,5]}, {'value2':[5,4,3,2,1]},{'value3':['a','b','c','d','e']}]
dicofdics = {}
for dct in listofdict:
dicofdics.update(dct)
df = pd.DataFrame(dicofdics)
df
<表类>指数 value1 value2 value3 tbody><<tr>0 1 5 12 4 b 23 3 c 3 4 2 d 45 1 e 表类>