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 相关文章推荐
数据挖掘之Apriori算法详解和Python实现代码分享
Nov 07 Python
python自定义类并使用的方法
May 07 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
Flask之请求钩子的实现
Dec 23 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Python Web版语音合成实例详解
Jul 16 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
python正则表达式匹配IP代码实例
Dec 28 Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 Python
calendar在python3时间中常用函数举例详解
Nov 18 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中读取照片exif信息的方法
2014/08/20 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
Javascript高级技巧分享
2014/02/25 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
Vue组件化开发思考
2018/02/02 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
Python的Django框架中的数据过滤功能
2015/07/17 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Python如何解除一个装饰器
2020/08/07 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
施工安全协议书
2013/12/11 职场文书
中学清明节活动总结
2014/07/04 职场文书
融资合作协议书范本
2014/10/17 职场文书
大学毕业生个人总结
2015/02/28 职场文书
逃课检讨书范文
2015/05/06 职场文书
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技