2017-10-13 11 views
-2

Meine Pandas Datenrahmen sieht wie folgt ausSeaborn FacetGrid KeyError

hours Record Result 
04  1  Pass 
12  2  Fail 
04  3  Good 
15  4  Warning 

Ich habe 500 Zeilen in meinem dataframe.I wollen Stunden auf x-Achse mit der Anzahl der Datensätze auf der y-Achse durch result.I facettierten plotten 4 müssen Graphen jeweils für bestanden, nicht bestanden, gut und Warnung Bedingung. Ich muss für jede Stunde finden, wie viele Datensätze in jeder Ergebniskategorie fallen.

g = sns.FacetGrid(batch_3, row=batch_3['hours'], col=batch_3['Result'], hue=batch_3['Result']) 
g.map(plt.plot, 'Stat') 

Ich erhalte die folgenden Fehler

KeyError:'WARNING' 'WARNING' 'GOOD' 'GOOD' 'WARNING' 'WARNING',.....] not in index" 
+0

See [MCVE] und [Wie gut reproduzierbare Pandas Beispiele machen] (https://stackoverflow.com/questions/20109391/ wie man gut-reproduzierbare Pandas-Beispiele macht. Sie ignorieren die 'FacetGrid'-Syntax vollständig. – ImportanceOfBeingErnest

Antwort

1

Der Grund, warum Sie die KeyError bekommen ist, dass Sie den Spaltennamen als String an die FacetGrid Parameter übergeben sollen, anstatt die eigentliche Säule geleitet wird, wie eine Serie. Zum Beispiel würde dies

sns.FacetGrid(batch_3, row='hours', hue='Result') 

arbeiten, aber dies würde nicht

sns.FacetGrid(batch_3, row=batch_3['hours'], hue=batch_3['Result']) 
Verwandte Themen