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:
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:
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()
Beantwortet von – plasmon360
Antwort geprüft von – Terry (FixError Volunteer)