熊猫组年份和情节图

时间:2017-04-12 17:29:21

标签: python pandas

这与"的Kaggle数据集有关。 H-1B签证申请2011-2016":

 [In]: df.groupby(['EMPLOYER_NAME','YEAR']).size().sort_values(ascending=False).head(10)

[Out]:

    EMPLOYER_NAME                      YEAR
    INFOSYS LIMITED                    2015    33245
                                       2013    32223
                                       2016    25352
                                       2014    23759
    CAPGEMINI AMERICA INC              2016    16725
    TATA CONSULTANCY SERVICES LIMITED  2015    16553
    INFOSYS LIMITED                    2012    15818
    TATA CONSULTANCY SERVICES LIMITED  2014    14098
                                       2016    13134
    WIPRO LIMITED                      2015    12201

我想分组索引" Infosys Limited"如下所示,因为目前在上面的输出中,它将分别显示2012年Infosys有限公司,并且还需要绘制图表以了解这些公司在过去5年中的趋势,我使用matplotlib& amp; seaborn for graph,不确定我们是否可以使用这些工具绘制这些图表。任何帮助非常感谢。

Infosys Limited 2012    15818
                2013    32223
                2014    23759
                2015    33245
                2016    25352

Graph:

enter image description here

2 个答案:

答案 0 :(得分:3)

让我们试试这段代码:

 df1 = df.groupby(['EMPLOYER_NAME','YEAR']).size().unstack()
 df1.columns = df.columns.droplevel()
 df1.plot(kind='barh')

enter image description here

答案 1 :(得分:2)

这实际上是一系列问题,因此将来尝试将其简化为一个特定项目。

  1. "我想分组索引" Infosys Limited"如下所示,因为目前在上面的输出中,它将分别显示2012年的Infosys有限公司"
  2. 它是独立的,因为您对值进行了排序。取消sort_values并再次查看输出,应按照您想要的方式对其进行分组。

    1. "并且还需要绘制图表以了解这些公司在过去5年中的趋势"
    2. 您展示的图表很可能是使用ggplot2在R中生成的。有一个版本的ggplot已被移植到python,但它并不像R版本那么精彩。如果你想要看起来像这样的图形,你可以从那里开始。就matplotlib而言,您可以通过在脚本开头调用pyplot.style.use('ggplot')来窃取ggplot样式。但请注意,一些更复杂的ggplot图表很难在matplotlib中完全复制。