pandas 将词典列表转换为DataFrame

eulz3vhy  于 2023-01-07  发布在  其他
关注(0)|答案(2)|浏览(157)

如果你有这样的字典列表:

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

如何将其转换为 Dataframe ,其中value1value2value3是列名,列表是列。
我试过:

df = pd.DataFrame(listofdict)

但是它给出的值集中在一行,其余行为NaN。

xa9qqrwz

xa9qqrwz1#

下面是另一种方法:

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
wgeznvg7

wgeznvg72#

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

| 索引|值1|值2|值3|
| - ------| - ------| - ------| - ------|
| 无|1个|五个|项目a|
| 1个|第二章|四个|b.人口基金|
| 第二章|三个|三个|(c)秘书长的报告|
| 三个|四个|第二章|日|
| 四个|五个|1个|电子|

相关问题