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下rrdtool模块的基本使用方法
Nov 13 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python File readlines() 使用方法
Mar 19 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
python中open函数的基本用法示例
Sep 07 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
python3.4中清屏的处理方法
Jul 06 Python
Python如何设置指定窗口为前台活动窗口
Aug 12 Python
python中四舍五入的正确打开方式
Jan 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商品对比功能代码分享
2015/09/24 PHP
php开发工具有哪五款
2015/11/09 PHP
利用php生成验证码
2017/02/23 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
javascript  Error 对象 错误处理
2008/05/18 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
nuxt.js 缓存实践
2018/06/25 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
python模糊图片过滤的方法
2018/12/14 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
Keras loss函数剖析
2020/07/06 Python
Python实现弹球小游戏
2020/08/01 Python
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
实习教师自我鉴定
2013/09/27 职场文书
大四本科生的自我评价
2013/12/30 职场文书
与美同行演讲稿
2014/09/13 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书