使用行 headers 创建 plotly table 并且输入值是行列表

create plotly table with row headers and input values are a list of rows

我正在尝试用列 headers 和行 headers 制作一个像上面那样的 table。我有 headers 作为列表 x = [a,b,c,d] y =[red,wite,blue] 和值作为行的嵌套列表 z=[[5,8,9,5] ,[4,4,5,2],[2,5,3,1]].

我给他的密码 table:

fig_table = go.Table(
        header=dict(
            values=x,
            font=dict(size=10),
            align="left"
        ),
        cells=dict(
            values=z,
            align = "left")
    )

值 属性 需要一个列列表而不是行列表,所以我的 table 倒过来了。有没有办法将行列表输入值?另外,我将如何添加行 headers?谢谢

  • header 的结构是一维列表,values 的结构是二维列表,它是二维列表的转置你会在 pandas
  • 中找到
  • 已经编写了从列表和数据框构建的示例

从列表创建

go.Figure(go.Table(
        header=dict(
            values=[""] + list("abcd"),
            font=dict(size=10),
            align="left"
        ),
        cells=dict(
            values=[["red","white","blue"],[5,3,2],[8,4,5],[9,5,3],[5,2,1]],
            align = "left")
    ))

从数据框创建

df = pd.DataFrame(
    index=["red", "white", "blue"],
    columns=list("abcd"),
    data=np.array([[5, 3, 2], [8, 4, 5], [9, 5, 3], [5, 2, 1]]).T,
)

go.Figure(go.Table(header={"values":df.reset_index().columns, "font":{"size":10}, "align":"left"},
                  cells={"values":df.reset_index().T, "align":"left"}))