Python数据分析基础与应用模块6Pandas统计计算与数据分析
6.2Pandas统计分析
6.2.1Pandas数据分析的基本方法Pandas数据分析的基本方法主要包括基本统计分析、分组统计分析、分布分析、交叉分析、结构分析、相关分析等多种方法。1.Pandas基本统计分析描述统计学(descriptivestatistics)主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的规律、特征做出综合性的描述分析。Pandas库正是对描述统计学知识应用的体现。从描述统计学角度出发,可以对DataFrame结构执行聚合计算等操作,例如使用sum()函数求和、使用mean()函数求均值等方法。
6.2.1Pandas数据分析的基本方法在DataFrame中,使用聚合类方法时需要指定轴(axis)参数。传参方式有两种:(1)对行操作,默认使用axis=0或者使用index;(2)对列操作,默认使用axis=1或者使用columns。
6.2.1Pandas数据分析的基本方法2.Pandas分组分析分组分析是指根据分组字段,将分析对象划分成不同的组,以对比分析各组之间差异性的分析方法。分组分析常用的统计指标是计数、求和、平均值等。3.Pandas分布分析分布分析是指根据分析的目的,将定量数据进行等距或者不等距的分组,从而研究各组分布规律的一种分析方法。例如学生成绩分布、用户年龄分布、收入状况分布等。在分布分析时,首先用cut()函数确定分布分析中的分组,然后再用groupby()函数实现分组分析。
6.2.1Pandas数据分析的基本方法4.Pandas交叉分析交叉分析通常用于分析两个或两个以上分组变量之间的关系,以交叉表形式进行变量间关系的对比分析;从数据的不同维度,综合进行分组细化分析,进一步了解数据的构成、分布特征。交叉分析有数据透视表和交叉表两种,透视表pivot_table()是一种进行数据透视分析的函数,参数aggfunc决定统计类型;而交叉表crosstab()是一种特殊的pivot_table(),专门用于计算分组的频率。其中pivot_table()函数返回值是数据透视表的结果,该函数相当于Excel中的数据透视表功能。
6.2.1Pandas数据分析的基本方法4.Pandas交叉分析(1)使用pivot_table()函数进行数据透视分析在交叉分析时,可以先用cut()函数确定交叉分析中的分组,然后再利用pivot_table()函数实现交叉分析。(2)使用crosstab()进行频数交叉分析频数交叉表(Cross-Tabulation,简称crosstab)是一种用于计算分组频率的特殊透视表。
6.2.1Pandas数据分析的基本方法5.Pandas结构分析在结构分析时,先利用pivot_table()函数进行数据透视表分析,然后,通过指定axis参数对数据透视表按行或列进行计算(当axis=0时按列计算,axis=1时按行计算),常用的运算函数有add(加)、sub(减)、multiply(乘)、div(除)、sum(求和)、mean(求平均值)、var(求方差)、sd(求标准差)。6.Pandas相关分析相关分析(CorrelationAnalysis)用于研究现象之间是否存在某种依存关系,并探讨具有依存关系的现象的相关方向以及相关程度,是研究随机变量之间相关关系的一种统计方法。
6.2.2应用Pandas的统计函数1.计算数值的百分比变化(pct_change)Series和DatFrames结构都可以使用pct_change()函数,该函数将每个元素与其前一个元素进行比较,并计算前后数值的百分比变化。2.计算变量的协方差(cov)Pandas提供的cov()函数用来计算Series对象之间的协方差。cov()函数应用于DataFrame结构时,协方差(cov)将计算指定列之间或所有列之间的协方差。该函数也会将缺失值(NAN)自动排除。
6.2.2应用Pandas的统计函数3.计算变量的相关系数(corr)相关系数用于显示任意两个Series对象或者DataFrame对象之间的线性关系,Pandas相关分析函数包括DataFrame.corr()和Series.corr(other)。函数说明如下:?如果由DataFrame调用corr()函数,那么将会计算列与列之间的相似度。?如果由Series调用corr()函数,那么只是该Series与传入的Series之间的相关度。函数返回值如下:?DataFrame调用:返回DataFrame。?Series调用:返回一个数值型数据,大小为相关度。
6.2.3应用Pand