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 相关文章推荐
在Docker上开始部署Python应用的教程
Apr 17 Python
Python实现给文件添加内容及得到文件信息的方法
May 28 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
pyenv虚拟环境管理python多版本和软件库的方法
Dec 26 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
python实现感知机模型的示例
Sep 30 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 Python
python中 Flask Web 表单的使用方法
May 20 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脚本数据库功能详解(下)
2006/10/09 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
BOM与DOM的区别分析
2010/10/26 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
SVG实现时钟效果
2018/07/17 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
一看就懂得Python的math模块
2018/10/21 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
正风肃纪剖析材料
2014/02/18 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
创业计划书之家教中心
2019/09/25 职场文书
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL