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"]))
'''