簡體   English   中英

熊貓分組年份和情節圖

[英]Pandas groupby year and plot graph

這與“ 2011-2016年H-1B簽證申請”的Kaggle數據集有關:

 [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”進行索引分組,如下所示,因為當前在上面的輸出中,它分別顯示了Infosys Limited 2012年的價格,並且還需要繪制圖表以了解這些公司最近5年的趨勢,我我正在使用matplotlib和seaborn繪制圖形,不確定是否可以使用這些工具繪制此類圖形。 任何幫助,不勝感激。

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

Graph:

在此處輸入圖片說明

讓我們嘗試以下代碼:

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

在此處輸入圖片說明

這確實是一系列問題,因此將來嘗試將其縮小為一個特定項目。

  1. “我想按年份對索引“ Infosys Limited”進行分組,如下所示,因為當前在上面的輸出中,它分別顯示了Infosys Limited 2012年的信息”

它是分開的,因為您對值進行了排序。 取消sort_values並再次查看您的輸出,應該按照您希望的方式對其進行分組。

  1. “並且還需要繪制圖表以了解這些公司最近5年的趨勢”

您顯示的圖形很可能是使用ggplot2在R中生成的 ggplot有一個版本已移植到python,但它不如R版本那么出色。 如果您希望圖形看起來完全像這樣,則可以從此處開始。 就matplotlib而言,您可以通過在腳本開頭調用pyplot.style.use('ggplot')來竊取ggplot樣式。 但是要當心,因為某些更復雜的ggplot圖表可能很難在matplotlib中精確復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM