简介:在数据分析中,透视表和交叉表是常用的工具。本文将深入解析pandas中的pd.crosstab()和pd.pivot_table()函数,并通过实际例子展示其用法。
透视表(Pivot Table)和交叉表(Crosstab)都是用于数据分析的强大工具,它们能够将数据按照指定的维度进行聚合,从而方便地展示数据的分布和关系。在Python的pandas库中,我们可以使用pd.crosstab()和pd.pivot_table()函数来创建透视表和交叉表。
一、pd.crosstab()函数详解
pd.crosstab()函数用于创建交叉表,它能够快速地统计不同分类变量之间的关系。下面是该函数的参数说明:
输出结果如下:
import pandas as pd# 创建示例数据data = {'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],'B': ['one', 'one', 'two', 'two', 'one', 'one'],'C': [1, 2, 3, 4, 5, 6]}df = pd.DataFrame(data)# 创建交叉表result = pd.crosstab(df['A'], df['B'])print(result)
二、pd.pivot_table()函数详解
B one twoAbar 2 0 2foo 1 1 1
import pandas as pd# 创建示例数据data = {'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],'B': ['one', 'one', 'two', 'two', 'one', 'one'],'C': [1, 2, 3, 4, 5, 6],'D': [10, 20, 30, 40, 50, 60]}df = pd.DataFrame(data)# 创建透视表result = pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C'], aggfunc='sum')print(result)