下面是Python+Pandas实现数据透视表的完整攻略:
一、数据透视表简介
数据透视表(Pivot Table)是一种多维度的数据分析方式,用于快速汇总和分析数据。它将原始数据按照指定的行列进行分组,再进行聚合统计,最终生成一张新的表格。
Pandas是Python中的一个强大的数据分析包,提供了Pivot Table功能,可以方便地实现数据透视表。
二、数据透视表的语法
在Pandas中,数据透视表的语法有如下几个重要参数:
- values:对哪个列进行聚合统计。
- index:按照哪些列进行分组。
- columns:按照哪个列进行列数据透视。
- aggfunc:聚合函数,如sum、count、mean等。
下面是实现数据透视表的基本语法:
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 构建数据透视表
pd.pivot_table(df, values='销售额', index='地区', columns='产品分类', aggfunc=sum)
三、数据透视表示例
示例一
下面演示一个简单的数据透视表示例,读取一个csv文件,然后按照地区和产品分类进行分组,计算销售额的总和:
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 构建数据透视表
pivot_table = pd.pivot_table(df, values='销售额', index='地区', columns='产品分类', aggfunc=sum)
# 打印结果
print(pivot_table)
输出:
产品分类 书籍 数码 美妆
地区
上海 NaN 100.0 NaN
北京 200.0 NaN 300.0
广州 250.0 NaN 150.0
深圳 150.0 NaN 100.0
该透视表按照地区和产品分类分组,计算销售额的总和,结果显示上海没有数码和美妆销售额,北京的书籍销售额为200,广州的书籍销售额为250,深圳的书籍销售额为150。
示例二
下面演示一个稍微复杂一些的数据透视表示例,读取一个csv文件,然后按照地区和产品分类进行分组,计算销售额的平均值,并添加一个汇总列和汇总行:
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 构建数据透视表
pivot_table = pd.pivot_table(df, values='销售额', index=['地区', '产品分类'],
aggfunc={'销售额': 'mean'},
fill_value=0, margins=True)
# 打印结果
print(pivot_table)
输出:
销售额
地区 产品分类
上海 数码 100.0
北京 书籍 200.0
美妆 300.0
广州 书籍 250.0
美妆 150.0
深圳 书籍 150.0
美妆 100.0
All 187.5
该透视表按照地区和产品分类分组,计算销售额的平均值,并添加一个汇总列和汇总行。结果显示了5个地区、3个产品分类、一个汇总行和一个汇总列。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python+Pandas实现数据透视表 - Python技术站