【问题标题】:Plotly Table Multiindex Dataframe绘图表多索引数据框
【发布时间】:2021-05-28 21:39:32
【问题描述】:

有没有办法从多索引 df 创建一个 Plotly 表,它保留合并的单元格标签:

这是代码,注意数字应该在右边的两列下面:

table = go.Table(
    header=dict(values=headers),
    cells=dict(values=df.T.values))

fig = go.Figure(data=table).update_layout()
fig.show()

结果:

【问题讨论】:

    标签: python plotly multi-index plotly-python


    【解决方案1】:

    我认为完成您想要的最简单的方法是重置 DataFrame 的索引,以便 NAMECATEGORY 列不再在索引中,然后将 NAME 列中的重复值替换为一个空白字符串''。然后您的 DataFrame 将如下所示(SALES 下的占位符值):

                   NAME     CATEGORY  SALES DISC
    0         Furniture       Tables      0  25%
    1                      Bookcases      1  22%
    2                         Chairs      2  17%
    3                    Furnishings      3  15%
    4   Office Supplies    Fasteners      4   9%
    5                            Art      5   8%
    6                      Envelopes      6   8%
    7                          Paper      7   7%
    8                        Storage      8   7%
    9                       Supplies      9   7%
    10                        Labels     10   6%
    11                       Binders     11  39%
    12                    Appliances     12  15%
    

    这个 DataFrame 更容易传递给go.Table,因为您不必担心多索引,但它的格式与多索引 DataFrame 相同。

    df_table = df.reset_index()
    df_table.loc[df_table['NAME'].duplicated(), 'NAME'] = ''
    
    table = go.Table(
        header=dict(values=df_table.columns.tolist()),
        cells=dict(values=df_table.T.values)
        )
    
    fig = go.Figure(data=table).update_layout()
    fig.show()
    

    【讨论】:

    • 谢谢,但我们还需要填充前两列
    • 我已经更新了我的答案 - 希望这是您正在寻找的更多内容
    • 谢谢。这些都是令人印象深刻的黑客。它仍然不是演示质量 - 可以像 Python 输出那样合并空单元格吗?
    猜你喜欢
    • 2021-04-03
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多