2013-08-01 44 views
8

说我有如下所示的数据帧:熊猫:一列的箱线图基于另一列

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 

我想箱线各组的年龄(A,B,C)。 注意,我在数据帧的一些NaN值。我如何在熊猫中做到这一点?

回答

9

误读月1日时间,所以给了回答直方图... keeking,下面。为箱线图的代码是:

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

enter image description here

suptitle('Bla Bla') 

改变或摆脱自动生成的顶级称号。

可能是一个更优雅的方式但直方图以下工作:

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有一些奇特的语法做到这一点。但由于只有3组,所以简单的解决方案可能就足够了。

+0

谢谢..你知道如何'图中的标题摆脱'“箱线图分组X”? –

+0

不必打开示例数据了...如果在IPython中与pylab进口:简单的标题(“箱形图分组X”)应该做的。否则,“进口matplotlib.pylab为PLT”和plt.title(“.....”)应该做的伎俩 – Joop

+0

感谢乔普,不幸的是,标题命令只是改变,上面写着'Age'在箱线图的部分(在您的文章),这就是为什么我问。 –