python pivot table 多层索引顺序_盘一盘 Python 系列特别篇十七之 透视表 Pivot Table...

本文通过实例详细讲解了Python中Pivot Table的使用,包括设置多层索引、聚合函数、填充缺失值等,以及如何通过Pivot Table进行数据整合和分析。同时,文章还介绍了如何结合DataFrame进行进一步的数据操作,帮助读者深入理解Pivot Table的功能。
摘要由CSDN通过智能技术生成
本文含  3796 字, 22 图表截屏 建议阅读  20  分钟 从功能上讲,Pandas 中用透视表 (pivot table) 和 Excel 里面的透视表是一样的。透视表是一种做多维数据分析的工具,还记得  Pandas  的 split-apply-combine 三部曲吗?首先用 groupby 分组,再平行将某个函数应用到各组上,最后自动连接成一个总表。今天介绍的 pivot_table() 函数可以将上面“ 拆分-应用-结合”三个步骤用一行来完成。

先看一张图:

4dc1b7aa29d0297b1b4e45a70b27caea.png

Pivot 字面意思是支点,即上图中的 index 和 columns 指定的行和列标签,支点可想理解成数据 (values) 在哪个维度上做整合 (aggfunc),再吧 NaN 值用 fill_value 替代,按行按列加总 (margin=True)。

理解还有些难度?没问题,看完本帖就懂了。

数据

首先从 csv 读数据。

154eca2048661b0c3a63e96a0a40bdf9.png

df = pd.read_csv('PB Sales.csv')df

e943325cfe28ea5e307f9a692c12da27.png

设置“单行”为 Pivot

创建透视表的 pivot_table() 函数里面的参数设置很多,学习它最有效的方式是每一步设置一个参数,检查结果是否符合预期。

先从最简单的语法开始,只设置 index='Account',通用语法如下:

pd.pivot_table(df, index=label_str)

pd.pivot_table( df, index="Account" )

c90290f3f0cbd6f187cce08b600bd427.png

从上表结果看,Price 和 Quantity 两列按照 Account 以某种方式合并了。看原 df 最后两行,账户 MM729833 合并成一行,对应的 Price 和 Quantity 是 42500 和 200,看来某种方式是求平均。现在大概可以猜出 pivot_table() 函数中有个参数用来设置整合方式,而默认值为平均。

设置“多行”为 Pivot

上例设置单个 index,接下来看看设置多个 index 的结果是什么样的。这时用列表来存储多个 index。通用语法如下:


 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值