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采用Django制作简易的知乎日报API
Aug 03 Python
Python中协程用法代码详解
Feb 10 Python
教你用Python创建微信聊天机器人
Mar 31 Python
Python中文件的读取和写入操作
Apr 27 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
python一键去抖音视频水印工具
Sep 14 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
机器学习实战之knn算法pandas
Jun 22 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 Python
彻底解决Python包下载慢问题
Nov 15 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四舍五入精确小数位及取整
2014/01/14 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
jQuery实现计算器功能
2020/10/19 jQuery
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python获取任意xml节点值的方法
2015/05/05 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python实现的栈(Stack)
2018/01/26 Python
解读python logging模块的使用方法
2018/04/17 Python
Python的argparse库使用详解
2018/10/09 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
小学中秋节活动方案
2014/02/06 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
青春奉献演讲稿
2014/05/08 职场文书
机械专业求职信
2014/05/25 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
2014年度个人总结范文
2015/03/09 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Python获取字典中某个key的value
2022/04/13 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers