pandas将DataFrame的列变成行索引的方法

yipeiwu_com6年前Python基础

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实现冒泡排序算法实例代码

利用python实现冒泡排序算法实例代码

冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没...

Python内置函数的用法实例教程

本文简单的分析了Python中常用的内置函数的用法,分享给大家供大家参考之用。具体分析如下: 一般来说,在Python中内置了很多有用的函数,我们可以直接调用。 而要调用一个函数,就需要...

python 微信好友特征数据分析及可视化

python 微信好友特征数据分析及可视化

一、背景及研究现状 在我国互联网的发展过程中,PC互联网已日趋饱和,移动互联网却呈现井喷式发展。数据显示,截止2013年底,中国手机网民超过5亿,占比达81%。伴随着移动终端价格的下降及...

python线程池threadpool实现篇

本文为大家分享了threadpool线程池中所有的操作,供大家参考,具体内容如下 首先介绍一下自己使用到的名词: 工作线程(worker):创建线程池时,按照指定的线程数量,创建工作线程...

高效使用Python字典的清单

字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界",字典在Python中的重要性不言而喻,这里整理了几个关于高效使用字典...