首页 > 解决方案 > 将输出打印为表格

问题描述

我有如下输出。

  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 循环来做到这一点。

标签: pythonpandas

解决方案


您可以使用 读取它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

推荐阅读