2013-08-01 27 views
8

göre aşağıdaki gibi bir dataframe olduğunu varsayalım:Pandalar: Bir sütunun boxplot başka bir sütun

my_dataframe: 

    Age Group 
0 31 A 
1 24 A 
2 25 A 
3 36 A 
4 50 NaN 
5 27 A 
6 49 A 
7 24 A 
8 63 A 
9 25 A 
10 65 A 
11 67 A 
12 59 A 
13 NaN B 
14 30 B 
15 19 B 
16 57 B 
17 62 B 
18 30 B 
19 50 B 
20 42 B 
21 45 C 
22 59 C 
23 28 C 
24 37 C 
25 29 C 

Her Grubu yaş Boxplot istiyorum (A, B, C). Not Veri çerçevesindeki bazı NaN değerlerine sahibim. Bunu Pandalarda nasıl yapabilirim?

cevap

9

Misread 1. kez, histogramlar için bir cevap verdikten sonra, aşağıdan bakın. Boxplot ilişkin koddur:

bp = df.boxplot(by='Group') 

enter image description here

suptitle('Bla Bla') 

değiştirmek veya otomatik olarak oluşturulan üst Başlık kurtulmak.

df[df.Group =='A'].Age.hist() 
df[df.Group =='B'].Age.hist() 
df[df.Group =='C'].Age.hist() 

http://pandas.pydata.org/pandas-docs/dev/visualization.html yanı bunun için bazı fantezi sözdizimi vardır:

daha zarif bir şekilde ama histogramlarına çalışmalarınedeniyle olabilirdi. Ancak sadece 3 gruba sahip olduğundan basit çözüm muhtemelen yeterlidir.

+0

Teşekkürler .. Şekil başlığında "Boxplot gruplandırılmış X" 'den nasıl kurtulacağını biliyor musunuz? –

+0

Örnek verilere artık sahip olmayın ... eğer pylab içe aktarılan ipython ise: ("Boxplot grouped X") başlık yazılmalıdır. Aksi takdirde "import matplotlib.pylab plt" ve plt.title (".....") hile yapmalıdır – Joop

+0

Teşekkürler Joop, maalesef başlık komutu sadece posta kutunuzda 'Yaş' yazan kısmı değiştirir.), bu yüzden sordum. –

İlgili konular