data = [['g1','a',1],['g1','b',2],['g2','b',3],['g2','a',4]] df = pandas.DataFrame(data=data, columns=['group','name','count']) print df.set_index(['group','name']) print df.set_index(['name','group']) count group name g1 a 1 b 2 g2 b 3 a 4 count name group a g1 1 b g1 2 g2 3 a g2 4 This behavior is rather surprising to me because I was expecting the second output to be like
count name group a g1 1 g2 4 b g1 2 g2 3