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中将字典转换成其json字符串
Jul 16 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
python代码实现ID3决策树算法
Dec 20 Python
基于python实现高速视频传输程序
May 05 Python
python使用if语句实现一个猜拳游戏详解
Aug 27 Python
python字符串反转的四种方法详解
Dec 02 Python
彻底搞懂 python 中文乱码问题(深入分析)
Feb 28 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
20行Python代码实现视频字符化功能
Apr 13 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 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处理Oracle的CLOB实例
2014/11/03 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
Javascript模板技术
2007/04/27 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
python实现简单购物商城
2016/05/21 Python
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
求高于平均分的学生学号及成绩
2016/09/01 面试题
工程专业毕业生自荐信范文
2013/12/25 职场文书
给交警的表扬信
2014/01/12 职场文书
大学生学年自我鉴定
2014/02/10 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
空气的环保标语
2014/06/12 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
《颐和园》教学反思
2016/02/19 职场文书
物业管理交接协议书
2016/03/24 职场文书