import numpy as np
import pandas as pd
from pandas import Series,DataFrame

一、重塑

stack:将数据的列索引旋转为行索引

unstack:将数据的行索引旋转为列索引

df = DataFrame({'水果':['苹果','梨','草莓'],'数量':[3,4,5],'价格':[4,5,6]})
print(df)
   价格  数量  水果
0   4   3  苹果
1   5   4   梨
2   6   5  草莓

1.stack()

stack_df = df.stack()
print(stack_df)
0  价格     4数量     3水果    苹果
1  价格     5数量     4水果     梨
2  价格     6数量     5水果    草莓
dtype: object

2.unstack()

print(stack_df.unstack())
  价格 数量  水果
0  4  3  苹果
1  5  4   梨
2  6  5  草莓

3.通过level参数指定旋转轴的层次(默认level=-1)

print(stack_df.unstack(level=0))
     0  1   2
价格   4  5   6
数量   3  4   5
水果  苹果  梨  草莓

二、轴向旋转(pivot)

pivot(index,columns,values):将index指定为行索引,columns是列索引,values则是DataFrame中的值

df = DataFrame({'水果种类':['苹果','苹果','梨','梨','草莓','草莓'],'信息':['价格','数量','价格','数量','价格','数量'],'值':[4,3,5,4,6,5]})
print(df)
   信息  值 水果种类
0  价格  4   苹果
1  数量  3   苹果
2  价格  5    梨
3  数量  4    梨
4  价格  6   草莓
5  数量  5   草莓

将水果种类作为行索引,将信息作为列索引

print(df.pivot('水果种类','信息','值'))
信息    价格  数量
水果种类
梨      5   4
苹果     4   3
草莓     6   5

pivot可以用set_index和unstack等价的实现

print(df.set_index(['水果种类','信息']).unstack())
      值
信息   价格 数量
水果种类
梨     5  4
苹果    4  3
草莓    6  5

Pandas:重塑(stack)和轴向旋转(pivot)相关推荐

  1. Python数据分析 | (27) 重塑和轴向旋转

    有许多用于重新排列表格型数据的基础运算.这些函数也称作重塑(reshape)或轴向旋转(pivot)运算. 目录 1. 重塑层次化索引 2. 将"长格式"旋转为"宽格式& ...

  2. 数据分析之pandas学习笔记(六)(层次化索引、重塑、轴向旋转、行列变换、合并表数据)

    数据分析之Pandas学习笔记(六)(层次化索引.重塑.轴向旋转.行列变换.合并表数据) level层次化索引 unstack()与stack()进行重塑,即:行列索引变换 swaplevel()交换 ...

  3. pandas学习(创建多层索引、数据重塑与轴向旋转)

    pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...

  4. pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容

    pandas使用stack函数.map函数.unstack函数以及字典同时替换dataframe多个数据列的内容 目录 pandas使用stack函数

  5. android 动画x轴旋转,android – 动画在视图之间转换,在z轴上旋转...

    我正在尝试创建一个动画来在两个视图之间转换,这两个视图都是ExpandableListViews.我想要的外观如下图所示. 我尝试使用shrink_to_middle和grow_from_middle ...

  6. origin画图工具使用,去除注释的方框和图例的红色线框,x轴标注旋转

    origin的下载地址如下,完成破解版    http://www.ddooo.com/softdown/51005.htm 首先激活后更改字体类型,如果不更改字体会出现输入汉字出现空格的情况 选择T ...

  7. pandas pandas中stack()与unstack()函数用法

    pandas pandas中stack()与unstack()函数用法

  8. unity物体自身轴旋转_Unity实现物体沿自身的任意轴向旋转

    本文实例为大家分享了Unity实现物体沿任意轴向旋转,供大家参考,具体内容如下 一.创建一个需要旋转的物体 二.编写控制该物体的脚本 using UnityEngine; using System.C ...

  9. Unity实现物体沿指定的轴向旋转

    一.Unity实现物体沿指定的轴向旋转的方法 /*** * Title:"三维可视化" 项目 * 主题:物体旋转控制 * Description: * 功能:XXX * Date: ...

最新文章

  1. netty系列之:netty中各不同种类的channel详解
  2. 理解C#泛型运作原理
  3. 机器学习12推荐系统
  4. 比较TFS与SVN,你必须知道的10点区别
  5. github怎么切换到gitee_AOSP-RISCV 的开源仓库在 Gitee 上新建了镜像
  6. 一个简单又高效的日志系统
  7. 在PropertyGrid中使用密码显示
  8. Intel Core Enhanced Core架构/微架构/流水线 (3) - 流水线概述
  9. Java初学01:学习路线,韩顺平java教程百度云
  10. 有赞云支付php接口,Erphpdown wordpress插件集成有赞云支付的接口申请方法
  11. Laravel文档阅读笔记-Adding a Markdown editor to Laravel
  12. 激活函数:阶跃函数、sigmoid函数、ReLU函数、softmax函数
  13. 基于UML的面向对象软件开发过程
  14. js中求2个数的最大值的几种方法
  15. 记一次Process.waitFor()的exit value返回137,247的问题
  16. POE交换机和普通交换机哪里不同
  17. 2019第三季度UWA STAR:解答亦是学习
  18. hive分隔符_hive默认分隔符
  19. js josn prase
  20. 习题3.3 506寝室小组

热门文章

  1. DBeaver 转存数据库或执行脚本报错(全方位解析)
  2. JavaScript - 展开运算符
  3. Excel如何生成随机数
  4. linux下各文件夹的结构说明及用途介绍
  5. 如何快递打印出微信中的链接文章
  6. 跪求《HCNP/HCIE的培训内容
  7. 中国计算机专业研究生排名,中国计算机专业排名
  8. 看不懂CAD建筑图纸怎么办?有什么CAD快速看图或识图的技巧吗?
  9. 怎样用英语在麦当劳点餐
  10. 动态网站的制作与设计_动态网站制作是什么?