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 相关文章推荐
Django Admin实现上传图片校验功能
Mar 06 Python
关于numpy中np.nonzero()函数用法的详解
Feb 07 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
Tesserocr库的正确安装方式
Oct 19 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
python cookie反爬处理的实现
Nov 01 Python
python利用opencv实现颜色检测
Feb 23 Python
Python基础之hashlib模块详解
May 06 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编程中字符串处理的5个技巧小结
2007/11/13 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
js断点调试经验分享
2017/12/08 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
深入浅析python with语句简介
2018/04/11 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
中学生自我鉴定
2014/02/04 职场文书
总经理岗位职责描述
2014/02/08 职场文书
小学生期末评语大全
2014/04/21 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书