python 中如何使用多层索引?

2025-10-22 17:14:02

1、导入工具包,并输入数据集。

import pandas as pd

df=pd.DataFrame({'name':['Lucy','Jack','Lily','Tom','Jim','Bob'],'age':[18,18,18,19,17,18],'grade':[1,2,3,4,5,6]})

Print(df)

python 中如何使用多层索引?

2、定义多重索引。将name作为第一层索引、grade作为第二层索引。可以看到运行结果中的index部分已经发生变化。

df.index=[df['name'],df['grade']]

print(df)

Print(df.index)

python 中如何使用多层索引?

python 中如何使用多层索引?

3、自定义索引值。可以根据索引所在层级level或者索引名称来选择需要定义的索引。

df1=df.copy()

df1.index=df1.index.set_levels([6,5,4,3,2,1],level=1)

print(df1)

df1.index=df1.index.set_levels(['Lu','Ja','Li','To','Ji','Bo'],level='name')

print(df1)

可以看到运行结果中索引值发生了变化。

python 中如何使用多层索引?

python 中如何使用多层索引?

4、获取索引值。利用MultiIndex.to_frame函数将索引值作为数据的列字段使用。

df2=df.copy()

df2=df2.drop(['grade','name'],axis=1) #删除列

print(df2)

df2['name']=pd.MultiIndex.to_frame(df2.index)['name']

df2['grade']=pd.MultiIndex.to_frame(df2.index)['grade']

print(df2)

python 中如何使用多层索引?

python 中如何使用多层索引?

5、删除多重索引中的其中一层。level=0表示删除第一层,level=’name’,表示删除名为name的这一层索引。

df2.index=df2.index.droplevel(level=0)

Print(df2)

python 中如何使用多层索引?

6、交换索引的层级。

df3=df.copy()

df3.index=df3.index.swaplevel()

df3

可以看到原来在第二层的grade现在到第一层了。

python 中如何使用多层索引?

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢