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中使用Mako模版库的简单教程
Apr 08 Python
python实现将html表格转换成CSV文件的方法
Jun 28 Python
Python随机生成手机号、数字的方法详解
Jul 21 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
keras在构建LSTM模型时对变长序列的处理操作
Jun 29 Python
Python实现数字的格式化输出
Aug 01 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
Aug 02 Python
selenium判断元素是否存在的两种方法小结
Dec 07 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 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字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
CI框架常用函数封装实例
2016/11/21 PHP
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
JavaScript+canvas实现七色板效果实例
2016/02/18 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
JavaScript 事件代理需要注意的地方
2020/09/08 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
毕业生怎样写好自荐信
2013/11/11 职场文书
销售副总经理岗位职责
2013/12/11 职场文书
成品仓管员工作职责
2013/12/29 职场文书
回门宴答谢词
2014/01/13 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
大二法学专业职业生涯规划范文
2014/02/12 职场文书
春节联欢会主持词
2014/03/24 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
整理Python中常用的conda命令操作
2021/06/15 Python
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers