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 字符串中的字符倒转
Sep 06 Python
numpy自动生成数组详解
Dec 15 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
使用Scrapy爬取动态数据
Oct 21 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
python实现简单日志记录库glog的使用
Dec 13 Python
Pytorch对Himmelblau函数的优化详解
Feb 29 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 Python
详解Python小数据池和代码块缓存机制
Apr 07 Python
Python移位密码、仿射变换解密实例代码
Jun 27 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
JS实现前端缓存的方法
2017/09/21 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
python并发和异步编程实例
2018/11/15 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
python调用webservice接口的实现
2019/07/12 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
Kipling澳洲官网:购买凯浦林包包
2020/12/17 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
大二学习计划书范文
2014/04/27 职场文书
法人代表任命书范本
2014/06/05 职场文书
入股协议书范本
2014/11/01 职场文书
税务会计岗位职责
2015/04/02 职场文书
五一放假通知怎么写
2015/08/18 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
深入浅析React中diff算法
2021/05/19 Javascript