2.pandas应用 - 数据透视

pivot_table() 主要字段

index = 行索引
columns = 列索引
values = 显示的值
aggfunc = 值的聚合方式(默认的是求平均)
fill_value = 当出现nan值时,用什么填充
margins = 总计
margins_name = 总计的名称

首先导入测试数据

sale = pd.read_csv("sales_by_employee.csv", parse_dates=['Date']).head()
sale.nunique()

在这里插入图片描述
在这里插入图片描述

index字段

# index字段 作为行索引
sale.pivot_table(index='Date')

在这里插入图片描述

# index字段 多个字段作为多重索引
sale.pivot_table(index=['Date','Name'])
sale.pivot_table(index=['Name','Date'])

在这里插入图片描述

# index字段 多个字段作为多重索引,对调效果不同
sale.pivot_table(index=['Name','Date'])

在这里插入图片描述

columns字段

# columns字段 作为列索引
sale.pivot_table(index='Date', aggfunc="sum", columns='Name')

在这里插入图片描述

aggfunc字段

# aggfunc字段 聚合函数 默认是mean 平均值
# count 计数 sum 求和
sale.pivot_table(index='Date', aggfunc=["count","sum"])

在这里插入图片描述

# aggfunc 可以传入一个字典,对显示的值采取不同的聚合函数
sale.pivot_table(index='Date',                  
                 values=['Revenue','Expenses'],
                 columns='Name',
                 aggfunc={'Revenue':"sum", 'Expenses':"count"}
                )

在这里插入图片描述

values 字段、fill_value 字段

# values 字段 显示的栏目,多个栏目时也是使用列表形式,下面只显示Revenue
# fill_value 字段 当值为Nan时填充的值
sale.pivot_table(index='Date', 
                 aggfunc="sum", 
                 columns='Name',
                 values='Revenue',
                 fill_value=0
                )

在这里插入图片描述

margins 字段、margins_name 字段

# margins 字段 显示小计 默认=False
# margins_name 字段 显示小计的名称
sale.pivot_table(index='Date', 
                 aggfunc="sum", 
                 columns='Name',
                 values='Revenue',
                 fill_value=0.0,
                 margins=True,
                 margins_name='小计'             
                )

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值