Ausgabe
So sieht mein Datenrahmen aus:
PART METHOD J P AVG STD
0 1 meth1 3 50 0.914482 0.007398
1 1 meth2 3 50 0.925134 0.005738
... ... ... ... ... ... ...
190 4 meth4 7 150 0.913014 0.006144
191 4 meth4 7 200 0.914199 0.002962
Und ich möchte einen Boxplot mit Pandas zeigen, der die Spalten AVG und STD (Durchschnitt und Standardabweichung) verwendet, und ich weiß nicht, wie ich anfangen soll.
Zum Beispiel möchte ich die vier Methoden für PART = 1, J = 3 und P = 50 durch einen Boxplot vergleichen, um zu sehen, ob diese Werte kompatibel (ähnlich) sind oder nicht.
Ich bin sehr verloren, irgendeine Anleitung?
EDIT: Das folgende Bild zeigt, was ich möchte. Wobei A, B, C und D die Methoden sind und jede Box durch den Wert von AVG in Kombination mit de STD für PART = 1, J = 3 und P = 50 erstellt wird.
Lösung
Sie können den Datenrahmen filtern und einen Boxplot mit Parameter erstellen nach.
filtered_df = df[(df['PART'] == 1) & (df['J'] == 3) & (df['P'] == 50)]
filtered_df.boxplot(column = 'AVG', by = 'METHOD', patch_artist = True)
Für das folgende Beispiel df
df = pd.DataFrame({'PART':np.random.randint(1,4,10000), 'METHOD':np.random.choice(list('ABCD'), 10000), 'J':np.random.randint(3,7, 10000), 'P':np.random.randint(50,100, 10000),'AVG':np.random.randn(10000),'STD':np.random.randn(10000)})
Du erhältst
Beantwortet von – Vaishali
Antwort geprüft von – Jay B. (FixError Admin)