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分析git log日志示例
Feb 27 Python
Python书单 不将就
Jul 11 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
python实现八大排序算法(2)
Sep 14 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
Dec 12 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
python交易记录整合交易类详解
Jul 03 Python
Python定时任务随机时间执行的实现方法
Aug 14 Python
Python环境Pillow( PIL )图像处理工具使用解析
Sep 12 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python tcp传输代码实例解析
Mar 18 Python
用Python实现职工信息管理系统
Dec 30 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
Yii 2中的load()和save()示例详解
2017/08/03 PHP
Swoole4.4协程抢占式调度器详解
2019/05/23 PHP
xss文件页面内容读取(解决)
2010/11/28 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
Javascript MVC框架Backbone.js详解
2014/09/18 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
python 正则表达式 概述及常用字符
2009/05/04 Python
tornado 多进程模式解析
2018/01/15 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
在python shell中运行python文件的实现
2019/12/21 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
java程序员面试交流
2012/11/29 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
教师求职信范文分享
2013/12/27 职场文书
农业资源与环境专业自荐信范文
2013/12/30 职场文书
安全大检查反思材料
2014/01/31 职场文书
检查接待方案
2014/02/27 职场文书
课外科技活动总结
2014/08/27 职场文书
人事任命书范本
2015/09/21 职场文书
市级三好生竞选稿
2015/11/21 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书