将输出打印为表格

时间:2020-05-20 01:30:33

标签: python pandas

我的输出如下。

  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循环吗?

1 个答案:

答案 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