pandas将DataFrame的列变成行索引的方法
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)
'''
ABC
a123
b456
c789
'''
#将列索引为B的列变成data的行索引
print(data.set_index("B"))
'''
AC
B
213
546
879
'''
#获取行索引
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
AC
132
465
798
'''
2、DataFrame的reset_index方法
data=pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"]) print(data) ''' ABC a123 b456 c789 ''' print(data.set_index(["C"])) ''' AB C 312 645 978 ''' #相对于data来说行索引从原来的a、b、c变成了0、1、2 #在使用set_index方法的时候行索引就已经被修改了 print(data.set_index(["C"]).reset_index()) ''' CAB 0312 1645 2978 ''' 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的列变成行索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。