pandas将DataFrame的列变成行索引的方法


Posted in Python onApril 10, 2018

pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。

1、DataFrame的set_index方法

data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
  print(data)
  '''
    A B C
  a 1 2 3
  b 4 5 6
  c 7 8 9
  '''
  #将列索引为B的列变成data的行索引
  print(data.set_index("B"))
  '''
   A C
  B
  2 1 3
  5 4 6
  8 7 9
  '''
  #获取行索引
  print(data.set_index("B").index)
  #Int64Index([2, 5, 8], dtype='int64', name='B')
  #获取列索引
  print(data.set_index("B").columns)
  #Index(['A', 'C'], dtype='object')
  #将列索引为A和C的列变成行索引,层次化索引
  print(data.set_index(["A","C"]))
  '''
     B
  A C
  1 3 2
  4 6 5
  7 9 8
  '''

2、DataFrame的reset_index方法

data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
  print(data)
  '''
    A B C
  a 1 2 3
  b 4 5 6
  c 7 8 9
  '''
  print(data.set_index(["C"]))
  '''
    A B
  C
  3 1 2
  6 4 5
  9 7 8
  '''
  #相对于data来说行索引从原来的a、b、c变成了0、1、2
  #在使用set_index方法的时候行索引就已经被修改了
  print(data.set_index(["C"]).reset_index())
  '''
    C A B
  0 3 1 2
  1 6 4 5
  2 9 7 8
  '''
  print(data.index)
  #Index(['a', 'b', 'c'], dtype='object')
  print(data.set_index(["C"]).reset_index().index)
  #RangeIndex(start=0, stop=3, step=1)
  print(data.set_index(["C"]).reset_index().columns)
  #Index(['C', 'A', 'B'], dtype='object')

以上这篇pandas将DataFrame的列变成行索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Tornado框架异步编程入门实例
Apr 24 Python
python中base64加密解密方法实例分析
May 16 Python
Python递归函数定义与用法示例
Jun 02 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
python发送邮件脚本
May 22 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
python获取url的返回信息方法
Dec 17 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
简单的命令查看安装的python版本号
Aug 28 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 #Python
python DataFrame 修改列的顺序实例
Apr 10 #Python
pandas中的DataFrame按指定顺序输出所有列的方法
Apr 10 #Python
python中利用zfill方法自动给数字前面补0
Apr 10 #Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 #Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 #Python
Python比较2个时间大小的实现方法
Apr 10 #Python
You might like
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
跟老齐学Python之复习if语句
2014/10/02 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
python数据封装json格式数据
2018/03/04 Python
Django如何自定义分页
2018/09/25 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python实现的分层随机抽样案例
2020/02/25 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
使用CSS实现弹性视频html5案例实践
2012/12/26 HTML / CSS
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
优秀的自荐信要注意哪些
2014/01/03 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL