我有一个字典列表,其中值是另一个列表
[{111:[1,2,3]},{112:[4,5,6]},{113:[7,8,9]}]
我想将它们放在pandas数据框中,以便字典键为列名,并且列表中的每个元素都有自己的行
所以
df
111 112 113
1 4 7
2 5 8
3 6 9
答案 0 :(得分:1)
IIUC,您可以编写列表推导并明智地连接数据框轴。
import pandas as pd
d = [ {111: [1, 2, 3]}, {112:[4, 5, 6]}, {113:[7,8,9]}]
df = pd.concat([pd.DataFrame.from_dict(inner_dict,orient='columns') for inner_dict in d],axis=1)
print(df)
111 112 113
0 1 4 7
1 2 5 8
2 3 6 9
答案 1 :(得分:1)
尝试collections.ChainMap
:
from collections import ChainMap
d = [{111: [1, 2, 3]}, {112:[4, 5, 6]}, {113:[7,8,9]}]
df = pd.DataFrame({**ChainMap(*d[::-1])})
Out[79]:
111 112 113
0 1 4 7
1 2 5 8
2 3 6 9
答案 2 :(得分:0)
<button id="b_undo">UnDo Button</button>
<div id="b_container"></div>
答案 3 :(得分:0)
也许这是使用dict理解的吗?
data = [{ 111: [1, 2, 3] }, { 112: [4, 5, 6] }, { 113: [7,8,9] }]
pd.DataFrame({ title: values for column in data for title, values in column.items() })
但是最好将数据存储为{ title: [value] }
字典,以便大熊猫可以立即识别。
data = { 111: [1, 2, 3], 112: [4, 5, 6], 113: [7, 8, 9] }
pd.DataFrame(data)