首页 > 编程 > Python > 正文

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

2019-11-25 14:58:04
字体:
来源:转载
供稿:网友

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的列变成行索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表