【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.案例:美国人的生日

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