熊猫:基于另一列的一列的箱线图

时间:2013-08-01 03:48:04

标签: python matplotlib pandas

假设我有一个类似以下的数据框:

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个值。我怎么能在熊猫中做到这一点?

1 个答案:

答案 0 :(得分:13)

第一次误读,所以给出直方图的答案......在下面看。对于boxplot,代码是:

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组,简单的解决方案可能就足够了。