[FIXED] So erstellen Sie einen Boxplot basierend auf Zeilenwerten anstelle von Spaltenwerten

Ausgabe

Ich habe einige Punktedaten von einem Spiel, das ich mit Freunden spiele, es sieht so aus:

df = pd.DataFrame({'Player' : ['A', 'B', 'C', 'D', 'E'], 
                   'Score1' : [100, 150, 110, 180, 125], 
                   'Score2' : [200, 210, np.nan, 125, 293],
                   'Score3' : [50, 35, 200, 100, 180]})

Wenn ich einen df.boxplot()mache, erhalte ich einen Boxplot basierend auf der Score#, also basierend auf den Scores der gesamten Community:

Geben Sie hier die Bildbeschreibung ein

Jetzt möchte ich für jeden Spieler einen Boxplot() erstellen, damit wir sehen können, wie sie im Vergleich zueinander abschneiden. Etwas wie das:

Geben Sie hier die Bildbeschreibung ein

Als erstes habe ich versucht, einen Boxplot der Traspose-Matrix zu erstellen:

df.T.boxplot()

Aber ich bekomme einen FehlerIndexError: list index out of range

Ich denke, es hat mit den in der Traspose erstellten Indizes zu tun, also habe ich mit ihnen gespielt, aber ich weiß wirklich nicht, was ich sonst tun soll.

Lösung

Sie müssen den Index als Player festlegen

import pandas as pd
import numpy as np

df = pd.DataFrame({'Player' : ['A', 'B', 'C', 'D', 'E'], 
                   'Score1' : [100, 150, 110, 180, 125], 
                   'Score2' : [200, 210, np.nan, 125, 293],
                   'Score3' : [50, 35, 200, 100, 180]})
df = df.set_index('Player')
print df
df.T.boxplot()

Geben Sie hier die Bildbeschreibung ein


Beantwortet von –
plasmon360


Antwort geprüft von –
Terry (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like