【问题标题】:Seaborn Heatmap With Nested Rows带有嵌套行的 Seaborn 热图
【发布时间】:2016-09-26 03:39:54
【问题描述】:

给定以下数据框和数据透视表:

import pandas as pd
df=pd.DataFrame({'A':['a','a','a','a','a','b','b','b','b'],
                 'B':['x','y','z','x','y','z','x','y','z'],
                 'C':['a','b','a','b','a','b','a','b','a'],
                 'D':[7,5,3,4,1,6,5,3,1]})
table = pd.pivot_table(df, index=['A', 'B','C'],aggfunc='sum')
table

            D
A   B   C   
a   x   a   7
        b   4
    y   a   1
        b   5
    z   a   3
b   x   a   5
    y   b   3
    z   a   1
        b   6

我想创建一个按索引 A 和 B 划分的热图,如下所示:

有可能吗?

【问题讨论】:

    标签: python-3.x pandas matplotlib seaborn


    【解决方案1】:

    您可以在jupyter 笔记本中使用Styler,参见docsnotebook

    import seaborn as sns
    import pandas as pd
    
    df=pd.DataFrame({'A':['a','a','a','a','a','b','b','b','b'],
                     'B':['x','y','z','x','y','z','x','y','z'],
                     'C':['a','b','a','b','a','b','a','b','a'],
                     'D':[7,5,3,4,1,6,5,3,1]})
    table = pd.pivot_table(df, index=['A', 'B','C'],aggfunc='sum')
    table
    
    
    cm = sns.light_palette("blue", as_cmap=True)
    s = df.reset_index().style.background_gradient(cmap=cm)
    s
    

    【讨论】:

    • 谢谢!你能告诉我如何将它导出为 Seaborn 热图或看起来像我的样本更干净的东西吗?
    • 好的,你可以试试打开 Jupyter notebook。对我来说,它在浏览器中打开新标签。然后你可以创建新的笔记本(右上),可以下载为 html、pdf、rst...
    猜你喜欢
    • 2018-08-07
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2019-05-16
    相关资源
    最近更新 更多