【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
来源:互联网 发布:度小月担仔面 知乎 编辑:程序博客网 时间:2024/05/20 15:41
作者:lianghc
在逛CSDN论坛时遇到这样一个问题:
下列代码中srcdf和desdf都是Pandas的DataFrame对象,需要将srcdf转换为desdf,也就是根据列中的值拓展新的列,关系数据库报表中常见的需求,请问用DataFrame要如何实现?
经过分析,发现实际是将那么分组,将科目展开,即《利用pandas进行数据分析》第七章 数据转换下的将‘长格式’转换为‘宽格式’ 问题。论坛里已经有一种解决办法了:首先使用set_index 重建索引,这个函数很厉害,实际上是做了分组(groupby)和重建索引的工作。然后用unstack将行转换成列,最后算平均数,然后组合到一起。这里关键用到set_index(),unstack()。默认情况下,unstack的操作就是最内层的(这里就是level=2),除了传统分级编号,也可以用名称对其unstack。如果数据在分组中找不到的话会引入NaN。
下面我尝试用pivot和pivot_table解这个问题:
pivot的前两个参数值分别作用于行和列索引,最后一个参数值则是用于填充DaraFrame的数据列的列名。在《利用pandas进行数据分析》第七章 数据转换下的将‘长格式’转换为‘宽格式’ 中作者一语道破了pivot和上面做法的区别:
接下来我尝试用更简单的方法去得到上面的结果,在《利用pandas进行数据分析》书中,第九章 讲了透视表和交叉表。
pivot_table 就是数据透视表,用过EXCEL数据透视表的对此肯定很熟悉。不过目前函数的参数有所更新,原来的rows变成了index,cols变成了columns。
版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
0 0
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- pandas学习笔记3—数据重塑图解Pivot, Pivot-Table, Stack and Unstack
- pandas 中 stack 和 unstack的用法
- pandas数据样本行列选取
- [python笔记]行列转换,数据透视
- pandas库生成数据透视表
- pandas数据预处理与透视表
- Pandas数据预处理与透视表
- Python pandas库 数据切片 行列操作
- pandas系列之 DataFrame 行列数据筛选
- 数据行列转置函数
- python pandas 数据框 条件选取行列数据
- 用SQL行列转换实现数据透视的一些思考
- pandas中groupby和pivot_table(数据透视表)
- 十分钟pandas(数据透视、矩阵合并、读写文件)
- stack and unstack
- R实现类似EXCEL中数据的透视功能:数据的行列转换
- Linux 开发中的常用命令
- android 屏幕
- 从普通DLL中导出C++类 – dllexport和dllimport的使用方法
- QTableWidget 详细使用
- 结构体 的优先队列 【模板】
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- array_walk()使用
- 侃侃c++ this指针
- 随笔_1
- 温故而知新 JS函数
- node中异步处理Promise封装调用
- 如何免费下载百度文库,豆丁网等付费文章
- VC6-error LNK2001: unresolved external symbol _WinMain@16
- 变量(auto、static、extern、register)及其生存周期