文章目录

一、 什么是透视表?
透视表是一种可以对数据动态排布并且分类汇总的表格格式。或许大多数人都在Excel使用过数据透视表(如下图),也体会到它的强大功能,而在pandas中它被称作pivot_table。
二、为什么要使用pivot_table?
- 灵活性高,可以随意定制你的分析计算要求
- 脉络清晰易于理解数据
- 操作性强,报表神器
三、pivot_table api认识
pandas.pivot_table(data, values=None, index=None, columns=None,aggfunc=‘mean’, margins=False)
- data:[必须]需要操作数据 DataFrame
- values:要进行计算操作的列名 一个列名或列名组成的列表,不给代表对所有列操作
- index:[必须]分组后作为行索引的列名 一个列名或列名组成的列表
- columns:分组后作为行索引的列名 一个列名或列名组成的列表
- aggfunc:指定对values参数所给的列做什么计算操作,可以是字典(分别为不同的列指定不同的计算操作),默认为mean(计算均值)
- margins:是否进行行汇总和列汇总
四、如何使用pivot_table?
4.1 读取数据
df = pd.read_csv('data/James_Harden.csv',encoding='utf8')
df.tail()
4.2 使用index参数
每个pivot_table必须拥有一个index,如果想查看哈登对阵每个队伍的得分,首先我们将对手设置为index:
pd.pivot_table(df,index=[u'对手'])
上图红框中的数值分别是[对手=‘76人’]这一组数据中[3分命中率,助攻,命中,得分,投篮命中率,投篮数,篮板]这些数据的平均值.
可以看到,对手成为了第一层索引,还想看看对阵同一对手在不同主客场下的数据,试着将对手与胜负与主客场都设置为index
pd.pivot_table(df,index=[u'对手',u'主客场'])