數(shù)據(jù)透視:Excel數(shù)據(jù)透視和Python數(shù)據(jù)透視

?作者?|?leo

早于90年代初巫糙,數(shù)據(jù)透視的概念就被提出,主要的應(yīng)用場景是處理大量數(shù)據(jù)的交互式匯總查詢焰望,它實現(xiàn)了行或列的移動骚亿,使得行可以移到列上,列移到行上熊赖,從而根據(jù)使用者的訴求取對關(guān)注的數(shù)據(jù)子集進行排序来屠,分組,篩選震鹉,匯總等等俱笛,它以強大而靈活的數(shù)據(jù)查詢方式被廣泛推廣開來,人們可以自定義計算公式传趾,展開或者折疊需要關(guān)注的結(jié)果數(shù)據(jù)集迎膜,查看數(shù)據(jù)摘要信息。

今天我們討論的是兩個均有數(shù)據(jù)透視功能的工具浆兰,也是時下最為常見和流行的數(shù)據(jù)分析工具:Excel和Python磕仅,希望能夠通過本文讓您加深對數(shù)據(jù)透視的理解和使用。文中也會在合適的地方講二者進行對比簸呈,希望能對讀者有一定啟發(fā)榕订。

首先我們來介紹下Excel中的數(shù)據(jù)透視表的使用方法。

01 Excel數(shù)據(jù)透視簡介

數(shù)據(jù)源的基本要求:

Excel使用的數(shù)據(jù)源是有一定的格式要求的蜕便,并非任何數(shù)據(jù)都能夠直接進行數(shù)據(jù)透視劫恒,這點來說,python對數(shù)據(jù)的選擇則更為靈活轿腺。

●?數(shù)據(jù)源首行需要是標題行

如果沒有標題行两嘴,則在后面的字段匯總就會產(chǎn)生問題,因此這是首要條件族壳。

●?不能包含空行和空列

因為透視表的數(shù)據(jù)截取是以空行和空列作為停止的條件的憔辫。

●?不能包含空的單元格

數(shù)據(jù)透視主要是對數(shù)值型進行匯總、文本型計數(shù)仿荆,空的單元格會對匯總結(jié)果產(chǎn)生影響螺垢。

●?不能包含合并單元格

合并的單元格會導致讀取失敗。

●?不能包含同類字段

02 數(shù)據(jù)透視表使用方法

創(chuàng)建數(shù)據(jù)透視表

下面介紹如何快速建立數(shù)據(jù)透視表赖歌,首先通過ctrl+shift+?和ctrl+shift+向左箭頭選中數(shù)據(jù)區(qū)域,然后單擊菜單欄下的插入-數(shù)據(jù)透視表功茴,在彈出框中選擇透視表的位置是在新的工作表還是現(xiàn)有工作表的某個區(qū)域庐冯,位置欄旁邊的箭頭用于設(shè)定區(qū)域。

新生成的透視表允許我們對不同的字段進行各種數(shù)學匯總坎穿,只需要將不同的維度字段拖入對應(yīng)的欄目中即可展父,比如查看不同月份返劲、季度的銷量、銷售額情況可以將銷售日期字段拖入行中栖茉,將銷售數(shù)量拖入值中篮绿,并選擇加和匯總。

數(shù)據(jù)刷新

Excel數(shù)據(jù)透視表使用的是緩存數(shù)據(jù)吕漂,當數(shù)據(jù)源有更新時亲配,并不會自動刷新數(shù)據(jù),需要手動刷新數(shù)據(jù)源惶凝,根據(jù)改動類型分為:數(shù)據(jù)變動吼虎,數(shù)據(jù)區(qū)域變動。

數(shù)據(jù)變動

指的是在現(xiàn)有的數(shù)據(jù)區(qū)域內(nèi)苍鲜,對數(shù)據(jù)做了改動思灰,需要在透視表上面進行更新』焯希可以通過手動刷新洒疚,可以通過點擊透視表選項下的刷新按鈕自動更新數(shù)據(jù)。

數(shù)據(jù)區(qū)域變動

指的是有新的數(shù)據(jù)添加坯屿,此時數(shù)據(jù)區(qū)域發(fā)生了變化油湖,無法通過手動刷新數(shù)據(jù)來實現(xiàn)數(shù)據(jù)的更新。此時愿伴,可以通過刷新按鈕旁邊的【更改數(shù)據(jù)源】選項肺魁,重新選擇數(shù)據(jù)區(qū)域來實現(xiàn)。

數(shù)據(jù)分組

數(shù)值和文本分組

如果我們想將不同年齡段的人群進行分組隔节,不同姓氏的人群分組鹅经,這時就需要應(yīng)用到數(shù)值和文本分組了。

如下圖怎诫,屬于文本型分組瘾晃,需要選擇需要的字段,連續(xù)字段直接圈選幻妓,非連續(xù)字段可以使用ctrl鍵蹦误。

對于數(shù)值型分組,由于數(shù)值是有規(guī)律的肉津,因此選擇創(chuàng)建組之后會自動進行分組强胰。

日期分組

在透視表上面右擊日期項,根據(jù)需要的時間頻度進行選擇妹沙。

常用的值顯示方式

Excel透視表提供值顯示方式偶洋,可以滿足多種不同的數(shù)據(jù)對比和數(shù)據(jù)構(gòu)成計算分析。

下面介紹常用的幾種計算方式:

●?總計的百分比

每個數(shù)據(jù)占所在行列總和的百分比

●?行/列總百分比

每個數(shù)據(jù)占所在行或列所有項總和的百分比

●?百分比

根據(jù)某個字段完成百分比對比計算

●?父行匯總百分比

每個數(shù)據(jù)項占該列父級項總和的百分比

●?父級匯總百分比

每個數(shù)據(jù)項占該列和行父級項總和的百分比

●?差異百分比

每個字段與固定被選取字段的差百分比

03 切片的使用

切片器是Excel2010引入的新功能距糖,它提供了更為強大的數(shù)據(jù)交互能力玄窝,比起單純的數(shù)據(jù)篩選牵寺,使用更加流暢和靈活。

多表聯(lián)動篩選

使用前提

Excel2013版本以上恩脂,使用同一份數(shù)據(jù)源建立的透視表才能進行多表聯(lián)動帽氓。

使用方法

在透視表選項卡下選擇插入切片器,然后選擇要呈現(xiàn)的字段俩块,切片器會自動將數(shù)據(jù)加載到切片窗口黎休。

設(shè)置多表聯(lián)動,右擊切片器窗口典阵,選擇報表鏈接奋渔,就可以選擇切片器關(guān)聯(lián)的透視表了。

3.1 Python數(shù)據(jù)透視功能簡介

Python的數(shù)據(jù)透視功能主要通過pivot_table()函數(shù)實現(xiàn)壮啊,接下來主要介紹它的相關(guān)使用嫉鲸。

pivot_table()函數(shù)參數(shù)介紹

在python中,主要通過pandas里面pivot_table()函數(shù)來進行數(shù)據(jù)透視歹啼,讓我們首先了解下該方法的主要參數(shù)功能:

完整的pivot_table()表達式如下

pd.pivot_table(data,?values=None,?index=None,?columns=None,?aggfunc='mean',?fill_value=None,?margins=False,?dropna=True,?margins_name='All')

●?data

數(shù)據(jù)源dataframe對象

●?index

指定分組的列,相當于行索引

pt?=?pd.pivot_table(p_data,index=['銷售日期'])

●?values

需要進行聚合運算的數(shù)值字段

pt?=?pd.pivot_table(p_data,index=['銷售日期'],values=['銷售數(shù)量'])

●?aggfunc

指定聚合方法玄渗,默認求和,既可以使用字典的形式對不同字段進行不同的運算方法狸眼,也可以對同個字段進行不同的運算方法藤树,同時也可以使用自定義函數(shù)來作為聚合方法運算。

pt?=?pd.pivot_table(p_data,index=['銷售日期'],values=['銷售數(shù)量'],aggfunc=[np.mean,len])

●?columns

添加列索引拓萌,更細化的展示數(shù)據(jù)的匯總情況

pt?=?pd.pivot_table(p_data,index=['銷售日期'],columns=['產(chǎn)品名稱'],?values=['銷售數(shù)量'],aggfunc=[np.mean,len])

●?fill_value

用于填充缺失值

pt?=?pd.pivot_table(p_data,index=['銷售日期'],fill_value=0,columns=['產(chǎn)品名稱'],?values=['銷售數(shù)量'],aggfunc=[np.mean,len])

通過了解pivot_table()函數(shù)的基本參數(shù)岁钓,可以發(fā)現(xiàn),通過index和columns參數(shù)微王,能夠自由的選取不同字段進行Excel當中的行列互換匯總計算屡限,比如百分比的計算,我們可以通過自定義函數(shù)炕倘,添加到aggfunc參數(shù)中钧大,應(yīng)用到所有相關(guān)字段。

高級透視功能

一旦通過上述設(shè)置得到透視數(shù)據(jù)后罩旋,就可以使用高級透視功能進行數(shù)據(jù)過濾啊央。

比如想查看Manger字段是Debra Henley下的所有數(shù)據(jù)

pt.query('Manager?==?["Debra?Henley"]')

篩選status(狀態(tài))是"pending"和"won"的數(shù)據(jù)信息

pt.query('Status?==?["pending","won"]')

通過以上展示,可以發(fā)現(xiàn)Excel在處理數(shù)據(jù)透視方便具有更好的交互性和數(shù)據(jù)呈現(xiàn)能力涨醋,缺點是數(shù)據(jù)的匯總相對比較固定瓜饥,不具備更多的靈活度,因此對于數(shù)據(jù)分析并不復雜的應(yīng)用場景浴骂,選擇Excel比較合適压固。

而Python在處理數(shù)據(jù)透視方面,計算能力和字段的靈活組合方面遠遠勝于Excel靠闭,因此如果需要復雜的數(shù)據(jù)透視功能帐我,可以通過python來實現(xiàn)。

此外愧膀,python相較于Excel透視更為強大的一點是python的時間處理功能拦键,也就是時間序列的處理,對于金融從業(yè)者來說檩淋,python的時間序列處理能夠更為精細化的展示數(shù)據(jù)透視結(jié)果芬为,限于篇幅不做進一步展開。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蟀悦,一起剝皮案震驚了整個濱河市媚朦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌日戈,老刑警劉巖询张,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浙炼,居然都是意外死亡份氧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門弯屈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜗帜,“玉大人,你說我怎么就攤上這事资厉√保” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵宴偿,是天一觀的道長湘捎。 經(jīng)常有香客問我,道長酪我,這世上最難降的妖魔是什么消痛? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮都哭,結(jié)果婚禮上秩伞,老公的妹妹穿的比我還像新娘。我一直安慰自己欺矫,他們只是感情好纱新,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著穆趴,像睡著了一般脸爱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上未妹,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天簿废,我揣著相機與錄音空入,去河邊找鬼。 笑死族檬,一個胖子當著我的面吹牛歪赢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播单料,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼埋凯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扫尖?” 一聲冷哼從身側(cè)響起白对,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎换怖,沒想到半個月后甩恼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡狰域,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年媳拴,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兆览。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡屈溉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抬探,到底是詐尸還是另有隱情子巾,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布小压,位于F島的核電站线梗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏怠益。R本人自食惡果不足惜仪搔,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜻牢。 院中可真熱鬧烤咧,春花似錦、人聲如沸抢呆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抱虐。三九已至昌阿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背懦冰。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工灶轰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刷钢。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓框往,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闯捎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容