我的输出如下。
output= {(0, 0): 50.0, (0, 1): 100.0, (0, 2): 100.0, (0, 3): 100.0,
(1, 0): 0, (1, 1): 0, (1, 2): 200.0, (1, 3): 75.0,
(2, 0): 0, (2, 1): 150.0, (2, 2): 150.0, (2, 3): 0,
(3, 0): 500.0, (3, 1): 500.0, (3, 2): 500.0, (3, 3): 500.0,
(4, 0): 0, (4, 1): 0, (4, 2): 5550.0, (4, 3):0 }
我需要使用pandas数据框将这些值放在表中,以获取以下输出
value=[aa,bb,cc,dd]
name=[a,b,c,d,e]
aa bb cc dd
a 50.0 100.0 100.0 100.0
b 0 0 200.0 75.0
c 0 150.0 150.0 0
d 500.0 500.0 500.0 500.0
e 0 0 5500.0 0
您能建议如何使用for循环吗?
答案 0 :(得分:1)
您可以使用pd.Series
来读取它,因为元组将转换为多个索引,然后执行unstack
并指定列和索引名称
s=pd.Series(output).unstack()
s
0 1 2 3
0 50.0 100.0 100.0 100.0
1 0.0 0.0 200.0 75.0
2 0.0 150.0 150.0 0.0
3 500.0 500.0 500.0 500.0
4 0.0 0.0 5550.0 0.0