← 返回首页
创建透视表与交叉表
发表时间:2024-03-31 15:11:05
创建透视表与交叉表

创建透视表与交叉表

1.使用pivot_table()函数创建透视表

透视表是各种电子表格和其他数据分析软件中一种常见的数据汇总形式,可根据一个或多个建对数据进行聚和,并根据行或列的分组键将数据划分到各个区域。利用pivot_table函数可以实现创建透视表。

pivot_table()函数的基本使用格式如下:

DataFrame.pivot_table(values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False)

pivot_table()方法的常用参数及其说明如下表:

使用pivot_talbe()函数时,若不特殊指定聚合函数的参数aggfunc,会默认使用numpy.mean进行聚合运算,numpy.mean会自动过滤掉非数值类型数据。读者可以通过指定aggfunc参数来修改聚合函数。

和groupby()方法分组相同,pivot_table()函数在创建透视表的时候分组键index可以有多个,使用format和metric特征作为索引的透视表。

当全部数据列数很多时,若要只显示自己关心的列,则可以通过指定values参数来实现。

2.使用crosstab()函数创建交叉表

交叉表是透视表的一种,crosstab()函数的参数和pivot_table()函数基本相同。不同之处在于,对于crosstab()函数中的参数index、columns、values,输入的都是从DataFrame中取出的某一列。

交叉表是一种特殊的透视表,主要用于计算分组频率。利用pandas提供的crosstab函数可以制作交叉表。 crosstab()函数的基本使用格式如下。

pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)

crosstab()方法的常用参数及其说明如下表。