【问题标题】:How to style transposed MultiIndex DataFrame如何设置转置 MultiIndex DataFrame 的样式
【发布时间】:2020-08-14 21:38:32
【问题描述】:

我正在尝试格式化以下转置多索引数据帧:

        0   1   2   3
B   sum 22  22  0   0
    d   0   0   -22 -22
    d%  0   0   -1  -1
C   sum 30  15  30  60
    d   0   15  0   30
    d%  0   -0.5    1

我想在二级索引以% 结尾的行上应用style.barstyle.format("{:.2%}",但我终生无法弄清楚如何在行上使用subset一个 MultiIndex 数据框。

我尝试过使用 IndexSlice 和许多其他方法都无济于事。有没有办法做到这一点?

【问题讨论】:

    标签: python pandas data-science


    【解决方案1】:

    经过一番尝试,将元组传递给subset 可以:

    rows = [idx for idx in df.index if idx[1][-1]=='%']
    df.style.format("{:.2%}",subset=(rows,pd.IndexSlice[:]))
    # equivalently
    # df.style.format("{:.2%}",subset=(rows,df.columns))
    

    输出:

                       0        1              2    3
    B   sum            0        1              2    3
         d%      400.00%     500.00%     600.00%    700.00%
    C   sum            8           9          10    11
         d%     1200.00%    1300.00%    1400.00%    1500.00%
    

    【讨论】:

    • 谢谢,成功了!只是我,还是这应该更容易? :)
    猜你喜欢
    • 2013-08-18
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 2019-12-17
    • 2017-05-08
    • 1970-01-01
    • 2012-09-20
    • 2010-11-09
    相关资源
    最近更新 更多