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字符串对象的实现
Dec 24 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
Python-嵌套列表list的全面解析
Jun 08 Python
Python使用functools模块中的partial函数生成偏函数
Jul 02 Python
Python单元测试实例详解
May 25 Python
python实现文本界面网络聊天室
Dec 12 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
python实现抽奖小程序
Apr 15 Python
Python变量访问权限控制详解
Jun 29 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
Python3交互式shell ipython3安装及使用详解
Jul 11 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 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 flock 文件锁详细介绍
2012/12/29 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
Thinkphp5结合layer弹窗定制操作结果页面
2017/07/07 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
javascript常用函数(2)
2015/11/05 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
js返回顶部实例分享
2016/12/21 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
python自动zip压缩目录的方法
2015/06/28 Python
Python简单实现enum功能的方法
2016/04/25 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
windows下python安装小白入门教程
2018/09/18 Python
在python 中实现运行多条shell命令
2019/01/07 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
英国二手物品交易网站:Preloved
2017/10/06 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
部队万能检讨书
2014/02/20 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
SQL中的连接查询详解
2022/06/21 SQL Server