- Python廣告數(shù)據(jù)挖掘與分析實戰(zhàn)
- 楊游云 周健
- 507字
- 2021-04-02 14:21:24
3.2.5 數(shù)據(jù)透視表和交叉表
數(shù)據(jù)透視表和交叉表是我們常用的數(shù)據(jù)統(tǒng)計方法,數(shù)據(jù)透視表可以快速聚合我們需要的數(shù)據(jù),交叉表可以用于數(shù)據(jù)分組統(tǒng)計,兩者在實際的數(shù)據(jù)分析任務(wù)中都是非常實用的。
1.數(shù)據(jù)透視表
相信大家對Excel中的數(shù)據(jù)透視表功能都比較熟悉,它根據(jù)一個或者多個列對數(shù)據(jù)進行聚合,并結(jié)合行、列分組將數(shù)據(jù)分配到各個矩形區(qū)域內(nèi)。該功能可以幫助我們快速完成數(shù)據(jù)的統(tǒng)計工作。在Pandas中可以通過pivot_table方法實現(xiàn)數(shù)據(jù)透視表功能。pivot_table的參數(shù)如表3-8所示。
表3-8 pivot_table函數(shù)的參數(shù)

下面是一個pivot_table應(yīng)用實例,具體如下:
In [95]: df.pivot_table(index='Sex') Out[95]: Date Num Sex F 20200107 46.166667 M 20200107 56.142857 未知 20200107 24.750000
pivot_table默認聚合函數(shù)是mean,顯示結(jié)果為所有數(shù)值列的均值,我們也可以指定多個index以及其他聚合函數(shù),如下所示:
In [98]: df.pivot_table(index=["System","Sex"],aggfunc=sum) Out[98]: Date Num System Sex android F 727203852 1759 M 444402354 1148 iOS F 363601926 734 M 404002140 1210 未知 80800428 99
同時也可以指定分組的列,代碼如下:
In [99]: df.pivot_table(index =["Sex"],columns=['System'],aggfunc="mean") Out[99]: Date Num System android iOS android iOS Sex F 20200107.0 20200107.0 48.861111 40.777778 M 20200107.0 20200107.0 52.181818 60.500000 未知 NaN 20200107.0 NaN 24.750000
2.交叉表
交叉表主要用于統(tǒng)計分組頻率,使用情況比較單一,是數(shù)據(jù)透視表的一種特殊情況。在Pandas中可以通過crosstab函數(shù)來實現(xiàn),其參數(shù)及用法與pivot_table函數(shù)基本一致。
In [100]: pd.crosstab(index = df['Sex'],columns=df['Age']) Out[100]: Age 0~18歲 19~25歲 26~35歲 36~45歲 未知 Sex F 9 27 14 4 0 M 6 15 18 3 0 未知 0 0 0 0 4 In[101]:df.pivot_table(index=["Sex"],columns='Age',values='Num',aggfunc = "count") Out[101]: Age 0~18歲 19~25歲 26~35歲 36~45歲 未知 Sex F 9.0 27.0 14.0 4.0 NaN M 6.0 15.0 18.0 3.0 NaN 未知 NaN NaN NaN NaN 4.0
推薦閱讀
- 程序員修煉之道:從小工到專家
- Greenplum:從大數(shù)據(jù)戰(zhàn)略到實現(xiàn)
- 正則表達式必知必會
- 數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)
- Enterprise Integration with WSO2 ESB
- 城市計算
- 數(shù)據(jù)庫原理與應(yīng)用(Oracle版)
- 從0到1:JavaScript 快速上手
- Oracle RAC日記
- R Object-oriented Programming
- Python 3爬蟲、數(shù)據(jù)清洗與可視化實戰(zhàn)
- 區(qū)塊鏈應(yīng)用開發(fā)指南:業(yè)務(wù)場景剖析與實戰(zhàn)
- 碼上行動:利用Python與ChatGPT高效搞定Excel數(shù)據(jù)分析
- 掌中寶:電腦綜合應(yīng)用技巧
- 社交網(wǎng)站的數(shù)據(jù)挖掘與分析(原書第2版)