mask=pd.MultiIndex.from_arrays([[‘Ohio‘, ‘Ohio‘, ‘Colorado‘], [‘Green‘,‘bed‘, ‘Green‘]], names=(‘state‘, ‘color‘)) df = pd.DataFrame(np.arange(12).reshape((4, 3)),index=[[‘a‘, ‘a‘, ‘b‘, ‘b‘], [1, 2, 1, 2]], columns=mask) df.index.names=[‘key1‘,‘key2‘] df.columns.names=[‘state‘,‘color‘] print("\n源数据:\n",df) print("\n对源数据index排序:\n",df.sort_index(level=1)) print("\n交换级别:\n") print(df.swaplevel(‘key1‘,‘key2‘)) print("\n交换级别后排序:\n") print(df.swaplevel(‘key1‘,‘key2‘).sort_index(level=0))
结果:
可以对比看到,排序的结果是一样的
END
#df.set_index( )函数的用法 df=pd.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("源数据:\n",df) df2=df.set_index([‘c‘,‘d‘]) df3=df.set_index([‘c‘,‘d‘],drop=False) print("\ndf.set_index([‘c‘,‘d‘]层次化索引,df2:\n",df2) print("\ndf.set_index([‘c‘,‘d‘],drop=False层次化索引,drop,df3:\n",df3)
结果:
END
原文:https://www.cnblogs.com/bravesunforever/p/12778749.html