2016-04-06 6 views
0

Angenommen, ich habe ein Dataset mit Werten, die gruppiert wurden. Die Bins werden in einem Wörterbuch mit der Bezeichnung mydict gespeichert. Um die Histogramm-Mengen, die erforderlich sind, um plotten eine Box-and-Whisker, ich habe getan:Python: Wie verkettet man mehrere Pandas-Datenrahmen zu einem Box-Whisker-Plot?

df_dataset = pd.DataFrame.from_dict(dict([ (k, pd.Series(v)) for k,v in mydict.items() ]))

Um die Histogramm Mengen zu erhalten:

mydict_min = df_dataset.min() 
mydict_max = df_dataset.max() 
mydict_median = df_dataset.median() 
mydict_1st3rd = df_dataset.quantile([.1, .3]) 

Mein Problem: Ich muss zeichnen ein Box-and-Whisker plot mit den oben gezeigten Histogrammmengen. Wie kann ich dies tun, indem Sie DataFrame.boxplot verwenden? In this example wurde ein Box-and-Whisker gebaut, indem Sie:

import matplotlib.pyplot as plt 
from pandas import DataFrame 

df = DataFrame({'Parameter': ['A',]*8, 
       'Site': ['S1', 'S2', 'S1', 'S2', 'S1', 'S2', 'S1', 'S2'], 
       'Value': [2.34, 2.67, 2.56, 2.89, 3.45, 4.45, 3.67, 4.56]}) 

df.boxplot(by=['Parameter', 'Site']) 
plt.show() 

Brauche ich einen Datenrahmen von Datenrahmen zu schaffen? Ich habe bereits die Histogramm-Mengen (siehe oben) und brauche keine Gruppierung. Wie könnte ich diesen Code ändern, um meine Histogrammmengen zu berücksichtigen?

Antwort

0

Nach einer kurzen Suche habe ich herausgefunden, dass es keine Notwendigkeit gibt, etwas zu verketten. Die einfache Antwort ist, den Box-and-Whisker aus der df_dataset zu konstruieren, da es bereits eine series ist und als solche alle relevanten Histogrammmengen speichert.

Die Linie, die die Box-and-Whisker zu schaffen ist: df_dataset.plot.box()

Weitere Informationen finden Sie here finden.

Details wie Achsentitel, Plottitel, Raster, Bins und alles andere können je nach Bedarf festgelegt werden.