十、數據透視表
數據透視表將每一列數據作爲輸入,輸出將數據不斷細分成多個維度累計信息的二維數據表。
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_value
和 dropna
這兩個參數用於處理缺失值
aggfunc
參數:
用於設置累計函數類型,默認值是均值,與 GroupBy 的用法一樣,累計函數可以用一些常見的字符串(‘sum’、 ‘mean’、 ‘count’、 ‘min’、 ‘max’ 等)表示,也可以用標準的累計函數(np.sum()、 min()、 sum() 等)表示。
不同的透視列如果需要使用不同的累計方法,可以通過字典爲不同的列指定
margins
對行列總計,總計行/列名稱默認爲’All’