【Python數據科學手冊】Pandas——十、數據透視表 df. pivot_table

十、數據透視表

數據透視表將每一列數據作爲輸入,輸出將數據不斷細分成多個維度累計信息的二維數據表。

1.獲取數據

本節用一份Seaborn 程序庫採用泰坦尼克號的乘客信息數據庫來演示(titanic)
在這裏插入圖片描述

2.手工製作數據透視表

使用groupby可以實現數據透視的效果,但是比較繁瑣
在這裏插入圖片描述

3.數據透視表語法

df.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')
在這裏插入圖片描述
在這裏插入圖片描述

1)多級數據透視表

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)
用途:返回 x 中的每一個數據 在bins 中對應 的範圍,相當於將x按照邊界值分箱

在這裏插入圖片描述
使用新的列作爲透視index
在這裏插入圖片描述
pd.qcut(x, q, labels=None, retbins=False, precision=3, duplicates='raise')
用途:根據x均勻分成x個箱子,如q=2,則是按照中位數分箱,以此類推
將新的列作爲透視columns
在這裏插入圖片描述

2)其他數據透視表選項

fill_valuedropna這兩個參數用於處理缺失值
aggfunc參數:
用於設置累計函數類型,默認值是均值,與 GroupBy 的用法一樣,累計函數可以用一些常見的字符串(‘sum’、 ‘mean’、 ‘count’、 ‘min’、 ‘max’ 等)表示,也可以用標準的累計函數(np.sum()、 min()、 sum() 等)表示。
不同的透視列如果需要使用不同的累計方法,可以通過字典爲不同的列指定
在這裏插入圖片描述
margins對行列總計,總計行/列名稱默認爲’All’
在這裏插入圖片描述

4.案例:美國人的生日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章