當前位置:成語大全網 - 新華字典 - 數據分析—壹文看懂數據透視表(Excel&Pandas-pivot_table實現)

數據分析—壹文看懂數據透視表(Excel&Pandas-pivot_table實現)

導語也許大多數人都知道Excel中的數據透視表,也體會到了它的強大功能,那麽Pandas也提供了壹個類似的功能,也就是 pivot_table 。因為考慮到直接學pivot_table會有點難度,所以本篇文章將由淺入深的先通過excel實現透視表,慢慢地過渡到利用pandas來實現。

透視表是壹種可以對數據動態排布並且分類匯總的表格格式。利用透視表可以快速地進行分類匯總,自由組合字段聚合計算。

使用數據透視表的壹個挑戰是,妳需要確保妳理解妳的數據,並清楚地知道妳想通過透視表解決什麽問題。其實,雖然pivot_table看起來只是壹個簡單的函數,但是它能夠快速地對數據進行強大的分析。

其實非常的簡單,只需要選定我們想要進行透視的表,然後點擊菜單欄中的插入透視表。

在本文中,將會跟蹤壹個銷售渠道(也稱為漏鬥)。基本的問題是,壹些銷售周期很長(可以想壹下“企業軟件”、“資本設備”等),而管理者想更詳細地了解它壹整年的情況。

其實我們只需要將不同的字段拖入到不同的區域中即可,為了方便展示數據,我們可以右鍵關鍵字段,然後將其選擇上移,這樣我們可以實現數據的多級展示。

這裏我們註意壹個左下角的功能,叫做延遲布局更新,這個當我們的數據量比較大的時候,比如說十萬個數據,我們就可以選定這個延遲更新,其實就是設置當我們的字段設置完成之後才進行數據更新,可以最大程度保證我們操作的流暢性。

如果我們對數據透視表的順序有些不滿意,那我們就要按照我們自己的意願進行順序的修改,比如說我們選擇升序和降序。

當然了,我們也可以直接在選定區域的時候直接選擇插入壹個透視圖,壹般默認是柱狀圖。

這就是數據透視表與數據透視圖的基本操作,這是比較簡單的基礎內容。

數據透視表可以隨時隨地進行數據源的更改,數據源變更後進行簡單的更新就可反映到數據報表中,有兩種方式,第壹種是數據透視表刷新:如果數據源中的數值進行了更新,刷新即可。如果是數據源的結構或布局變更了,這時就采用更改數據源的方式。

計算字段極大擴展了數據透視表的計算功能,比如原始數據表中有壹列數據為銷售單價,有壹列數據為數量。那麽在數據透視表中可以通過計算字段輸入公式”=單價*數量“,來求出銷售額。

pandas中的函數pivot_table可以實現數據透視表,它的參數如下,下面我們來壹個個的學習。我們的數據源和上面excel的壹樣。

我們將上表中“Status”列定義為category,並按我們想要的查看方式設置順序(可選)

此外,可以有多個索引。實際上,大多數的pivot_table參數可以通過列表獲取多個值。

我們上面將“Name”,“Rep”列和“Manager”列進行對應分組,那麽現在來實現數據聚合。

“Price”列會自動計算數據的平均值,但是我們也可以對該列元素進行計數或求和。要添加這些功能,使用aggfunc和np.sum就很容易實現。

aggfunc可以包含很多函數,下面就讓我們嘗試壹種方法,即使用numpy中的函數mean和len來進行計算。

如果我們想通過不同產品來分析銷售情況,那麽變量“columns”將允許我們定義壹個或多個列。

pivot_table中壹個令人困惑的地方是“columns(列)”和“values(值)”的使用。我們只要記住,變量“columns(列)”是可選的,它提供壹種額外的方法來分割妳所關心的實際值。然而,聚合函數aggfunc最後是被應用到了變量“values”中妳所指定的字段上。

結果裏有很多NaN,如果想移除它們,我們可以使用“fill_value”將其設置為0。

如何查看壹些總和數據呢?相當於excel中的總計,通過“margins=True”就可以為我們實現這種功能。

下面,讓我們以更高的管理者角度來分析此渠道。根據我們前面對category的定義,註意現在“Status”是如何排序的。

為了對妳選擇的不同值執行不同的函數,妳可以向aggfunc傳遞壹個字典。

如果只想查看壹個管理者(例如Debra Henley)的數據,可以這樣過濾:

查看所有的暫停(pending)和成功(won)的交易,如下:

實現同時過濾多個條件:

希望本文的內容對大家的學習或者工作能帶來壹定的幫助,每天進步壹點點,加油?。