将字典列表转换为DataFrame



如果您有一个这样的字典列表:

listofdict = [{'value1': [1, 2, 3, 4, 5]}, {'value2': [5, 4, 3, 2, 1]}, {'value3': ['a', 'b', 'c', 'd', 'e']}]

如何将其转换为value1,value2value3为列名,列表为列的数据框架

我试着:

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
<表类>指数value1value2value3tbody><<tr>015124b233c342d451e

相关内容

  • 没有找到相关文章

最新更新