2016-05-31 9 views
0

Ich habe 10 Panda-Serie in allen mit unterschiedlicher Länge, jetzt möchte ich alle 10 als Box-Plots in einem Diagramm, wo X-Achse zeigt den Seriennamen.Plotting mehrere Pandas-Serie mit unterschiedlicher Länge in einem Diagramm

Dies wäre eine Standardoperation wie beschrieben here, wenn alle Serien die gleiche Länge hatten, so dass ich einen Datenrahmen daraus machen konnte.

Aber da dies nicht der Fall ist, bin ich nicht sicher, wie man das macht?

Antwort

3

Die unterschiedlichen Längenserien sind kein Problem. Pandas füllen die fehlenden Werte automatisch mit NA aus.

import matplotlib.pyplot as plt 
import numpy as np 
import pandas as pd 

np.random.seed(100) 
s1 = pd.Series(np.random.randn(5)) 
s2 = pd.Series(np.random.randn(10)) 
s3 = pd.Series(np.random.randn(15)) 

df = pd.DataFrame({'s1':s1, 's2':s2, 's3':s3}) 

df 

0 -1.749765 0.514219 -0.104411 
1 0.342680 0.221180 -0.531280 
2 1.153036 -1.070043 1.029733 
3 -0.252436 -0.189496 -0.438136 
4 0.981321 0.255001 -1.118318 
5  NaN -0.458027 1.618982 
6  NaN 0.435163 1.541605 
7  NaN -0.583595 -0.251879 
8  NaN 0.816847 -0.842436 
9  NaN 0.672721 0.184519 
10  NaN  NaN 0.937082 
11  NaN  NaN 0.731000 
12  NaN  NaN 1.361556 
13  NaN  NaN -0.326238 
14  NaN  NaN 0.055676 

df.plot.box() 

plt.show() 

enter image description here

Verwandte Themen