2016-05-27 8 views
1

Angesichts der folgenden Datenrahmen und Pivot-Tabelle:Seaborn Heatmap mit verschachtelten Reihen

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 

Ich möchte eine Heatmap mit Teilungen pro Indizes A und B wie folgt erstellen:

enter image description here

Ist es möglich?

Antwort

3

Sie Styler in jupyter Notebook verwenden können, finden docs und notebook:

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 

heatmap

+0

Dank! Kannst du mir sagen, wie ich es als Seaborn Heatmap oder etwas sauberer als meine Probe exportieren kann? –

+0

Ok, Sie können versuchen, Jupyter Notebook zu öffnen. für mich öffnet es neue Registerkarte im Browser. Dann können Sie ein neues Notizbuch erstellen (rechts) und es ist möglich, als HTML, PDF, zuerst herunterzuladen ... – jezrael