人们经常想要将DataFrame的一个或多个列当作行索引来用,或者可能希望将行索引当成DataFrame的列。
frame1 = DataFrame({'a':range(7),'b':range(7,0,-1),
'c':['one','one','one','two','two','two','two'],
'd':[0,1,2,0,1,2,3]})
print(frame1)
DataFrame的set_index函数会将其一个或多个列转换为行索引,并创建 一个新的DataFrame。
print(frame1.set_index('c','d'))
默认情况下,那些列会在DataFrame中移除,但是也可以将其保留下来。
print(frame1.set_index(['c','d'],drop=False))
reset_index的功能跟set_index刚好相反,层次化索引的级别会被转移到里面。
frame2 = frame1.set_index(['c','d'])
print(frame2.reset_index())