1. 透视表-概念2. 透视表-操作
Fs1-1:导入哈登在篮球赛中的数据Fs2-1:哈登在不同主客场下对阵同一对手的数据,分类条件为对手和==主客场(index的应用)Fs2-2:哈登在主客场和不同胜负情况下的得分、篮板与助攻三项数据(index,values的应用)Fs2-3:哈登在主客场和不同胜负情况下的总得分、总篮板、总助攻(index,values,aggfunc的应用)Fs2-4:获取每个队主客场的总得分,即在总得分的基础上又进行了对手的分类)(index,values,cloumns,aggfunc的应用)
1. 透视表-概念2. 透视表-操作 Fs1-1:导入哈登在篮球赛中的数据透视表是一种可以对数据动态排布并且分类汇总的表格格式。或许大多数人都在Excel使用过数据透视表,也体会到它的强大功能,而在pandas中它被称作pivot_table。透视表的优点:
- 灵活性高,可以随意定制你的分析计算要求
- 脉络清晰易于理解数据
- 操作性强,报表神器pivot_table有四个最重要的参数(以哈登篮球赛数据为例)
【index】:分类汇总的分类条件,每个pivot_table必须拥有一个index,如果想查看哈登对阵每个队伍的得分则需要对每一个队进行分类并计算其各类得分的平均值。
【values】:需要对计算的数据进行筛选 。
【columns】:设置列层次字段 对values字段进行分类。
【aggfunc】:设置对数据聚合时进行的函数操作,当未设置aggfunc时,它默认aggfunc='mean’计算均值。
import pandas as pd
import numpy as np
df = pd.read_csv('./data/透视表-篮球赛.csv',encoding='utf8')
df
Fs2-1:哈登在不同主客场下对阵同一对手的数据,分类条件为对手和==主客场(index的应用)
df.pivot_table(index=['对手','主客场'])Fs2-2:哈登在主客场和不同胜负情况下的得分、篮板与助攻三项数据(index,values的应用)
df.pivot_table(index=['主客场','胜负'],values=['得分','篮板','助攻'])Fs2-3:哈登在主客场和不同胜负情况下的总得分、总篮板、总助攻(index,values,aggfunc的应用)
df.pivot_table(index=['主客场','胜负'],values=['得分','篮板','助攻'],aggfunc='sum')
也可以通过 aggfunc = ’ sum ’ 获取所有队主客场的总得分
df.pivot_table(index='主客场',values='得分',aggfunc='sum')Fs2-4:获取每个队主客场的总得分,即在总得分的基础上又进行了对手的分类)(index,values,cloumns,aggfunc的应用)
df.pivot_table(index='主客场',values='得分',columns='对手',aggfunc='sum')
如果不想有NaN的话则可以在后面加一个 fill_value = 0 将其用0填充
df.pivot_table(index='主客场',values='得分',columns='对手',aggfunc='sum',fill_value=0)



