如何在pandas中的不同列值之后绘制数据框图

时间:2015-10-25 14:35:08

标签: python pandas boxplot

我有一个这样的数据框:

    Country     Year      Column1    Column2
1   Guatemala   1999        5           1
4   Mexico      2000        1           3
5   Mexico      2000        2           2
6   Mexico      2000        2           1
8   Guatemala   2000        3           2
11  Guatemala   2003        4           3
12  Guatemala   2003        6           4
13  Guatemala   2003        5           5

我想要的是Country中每个组的箱线图,显示与Years中唯一值的数量相对应的多个方框。这些框应代表Column2中的值。

我将数据分组并得到如下的箱图:

df1=df.groupby('Origin').boxplot(column='Column2', subplots=True)

这给了我一个每个国家的箱线图,但只有一个图表,代表该组中的所有值,不用年份分隔。如何在year中为每个唯一值获取一个框,表示我的代码中Column2中的值?

1 个答案:

答案 0 :(得分:1)

我会使用seaborn包,特别是将FacetGridboxplot结合使用。 对于您的情况,代码可能如下所示:

import seaborn as sns
g = sns.FacetGrid(df, col="Country", sharex=False)
g.map(sns.boxplot, 'Year', 'Column2')

编辑:这是我上面的数据: enter image description here