python DataFrame中stack()方法、unstack()方法和pivot()方法浅析


Posted in Python onApril 06, 2022

1.stack()

stack()用于将列索引转换为最内层的行索引,这样叙述比较抽象,看示例就容易理解啦:

准备一组数据,给其设置双索引。

import pandas as pd
data = [['A类', 'a1', 123, 224, 254], ['A类', 'a2', 234, 135, 444], ['A类', 'a3', 345, 241, 324],
        ['B类', 'b1', 112, 412, 466], ['B类', 'b2', 224, 235, 345], ['B类', 'b3', 369, 214, 352],
        ['C类', 'c1', 236, 251, 485], ['C类', 'c2', 378, 216, 515], ['C类', 'c3', 135, 421, 312],
        ['D类', 'd1', 306, 325, 496], ['D类', 'd2', 147, 235, 524], ['D类', 'd3', 520, 222, 267]]
df = pd.DataFrame(data=data, columns=['类别', '编号', 'A指标', 'B指标', 'C指标'])
df = df.set_index(['类别', '编号'])
print(df)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

df = df.stack()
print(df)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

如图,成功将索引列之外的 A指标,B指标,C指标三列放在了同一列。

此时的df,不再是一个DataFrame,而变为了一个Series对象。:

print(type(df))

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

该Series的index列不同于原DataFrame的index列,而是在原DataFrame的index列的基础上,又增加了从右边合并过来的部分:

print(df.index)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

此时Values为:

print(df.values)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

2. unstack()

unstack是stack的逆向操作。

在上述示例的代码的基础上,对上边的df继续调用unstack()方法:

df1 = df.unstack()
print(df1)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

可以看到unstack变回了原来的样子。

3. pivot()

这里对于上边例子中的数据稍作调整:

不设置多重索引

import pandas as pd
data = [['A类', '1', 123, 224, 254], ['A类', '2', 234, 135, 444], ['A类', '3', 345, 241, 324],
        ['B类', '1', 112, 412, 466], ['B类', '2', 224, 235, 345], ['B类', '3', 369, 214, 352],
        ['C类', '1', 236, 251, 485], ['C类', '2', 378, 216, 515], ['C类', '3', 135, 421, 312],
        ['D类', '1', 306, 325, 496], ['D类', '2', 147, 235, 524], ['D类', '3', 520, 222, 267]]
df = pd.DataFrame(data=data, columns=['类别', '编号', 'A指标', 'B指标', 'C指标'])
print(df)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

df2 = df.pivot(index='编号', columns='类别', values='A指标')
print(df2)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

index和columns分别指设定那一列的值为index,设置那一列的值为columns。values指表格要体现的指标。

df3 = df.pivot(index='类别', columns='编号', values='A指标')
print(df3)

python DataFrame中stack()方法、unstack()方法和pivot()方法浅析

总结

到此这篇关于python DataFrame中stack()方法、unstack()方法和pivot()方法的文章就介绍到这了,更多相关DataFrame stack()、unstack()和pivot()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详细介绍Python函数中的默认参数
Mar 30 Python
python中__call__内置函数用法实例
Jun 04 Python
python删除特定文件的方法
Jul 30 Python
Python迭代和迭代器详解
Nov 10 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
使用python 3实现发送邮件功能
Jun 15 Python
python url 参数修改方法
Dec 26 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
keras得到每层的系数方式
Jun 15 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
Jun 15 Python
浅谈Python中对象是如何被调用的
Apr 06 #Python
Python实现猜拳与猜数字游戏的方法详解
python字符串的一些常见实用操作
Apr 06 #Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 #Python
Python Numpy库的超详细教程
进行数据处理的6个 Python 代码块分享
Apr 06 #Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 #Python
You might like
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
php中Smarty模板初体验
2011/08/08 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
python使用append合并两个数组的方法
2015/04/28 Python
python实现linux下抓包并存库功能
2018/07/18 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
矿泉水广告词
2014/03/20 职场文书
美术学专业求职信
2014/07/23 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
青年教师听课心得体会
2016/01/15 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书