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装饰器decorator用法实例
Nov 10 Python
用Python编写简单的定时器的方法
May 02 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
简单了解什么是神经网络
Dec 23 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
python数据分析:关键字提取方式
Feb 24 Python
使用pyecharts1.7进行简单的可视化大全
May 17 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
下拉列表多级联动dropDownList示例代码
2013/06/27 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
JavaScript实现星星等级评价功能
2017/03/22 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
[02:10]2018DOTA2亚洲邀请赛赛前采访-Liquid
2018/04/03 DOTA
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
用tensorflow搭建CNN的方法
2018/03/05 Python
Python3最长回文子串算法示例
2019/03/04 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
python中pivot()函数基础知识点
2021/01/03 Python
工程管理专业毕业生自荐信
2014/01/24 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
小学生寒假家长评语
2014/04/16 职场文书
市场营销工作计划书
2014/05/06 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
什么是Python装饰器?如何定义和使用?
2022/04/11 Python