2017-07-10 2 views
1

ich mit einem sehr großen Pandas Datenrahmen begann, von Format:Mit Seaborn des `factorplot`after mit` groupby`

DAY  FLAVOR PRICE #CREATED BOUGHT 
1  apple  5   1   1 
1  apple  5   3   7 
1  apple  5   4   2 
1  apple  5   5   3 
2  apple  5   1   1 
2  apple  5   3   9 
2  apple  5   4   8 
       . 
       . 
       . 

nach einem groupby(['DAY','FLAVOR','PRICE']).mean() tun, Wind I mit einer reduzierten Datenrahmen nach oben ähnlich zu:

DAY  FLAVOR PRICE BOUGHT 
1  apple  5  3.4 
        25  2.9 
     cherry  5  1.7 
        25  2.6 
2  apple  5  1.6 
        25  1.7 
     cherry  5  3.1 
        25  3.2 
       . 
       . 
       . 

An dieser Stelle möchte ich Seaborn factorplots von erstellen: X = DAY, Y = BOUGHT und Hue = FLAVOUR. Muss ich diesen "reduzierten" Datenrahmen vor dem Plotten schmelzen? Oder gibt es eine einfache Möglichkeit, die Daten von meinem aktuellen Datenrahmen zu plotten?

+0

Schmelzen, keine ... reindexing, vielleicht ... –

Antwort

3

Sie können df.reset_index() ausführen und dann ein Faktor-Plot auswählen, indem Sie die entsprechenden Spalten auswählen.

Das bedeutet:

fg = (
    df.groupby(['DAY', 'FLAVOR', 'PRICE']) 
     .mean() 
     .reset_index() 
     .pipe((sns.factorplot, 'data'), x='DAY', y='BOUGHT', hue='FLAVOR') 
) 
+0

Die '.reset_index()' Befehl von einem 'factorplot' gefolgt funktionierte perfekt! Genau das, was ich gesucht habe, danke. – AaronJPung

Verwandte Themen