多重索引

  • 设置多重索引

  • # 导入数据

  • import pandas as pd

  • import numpy

  • df1 = pd.read_csv(filepath_or_buffer="D://movie.csv")

  • df_new = df1.set_index(["country","director_name"],append=True,drop=False,inplace=True)


  • append参数的含义:append指定是否保留原索引,默认为False 

  • drop参数的含义:drop是指该列被指定为索引后,是否删除该列,因为该列已经被指定为索引了。 

  • inplace参数的含义:inplace是指是否修改原有数据集,默认为否是指返回一个新的数据集


  • 索引排序

  • df_new.sort_index(inplace=True)


  • inplace参数的含义:inplace是指是否修改原有的数据集,默认返回一个新的数据集,不修改原有数据集 

  • 一般我们在对数据集按照列进行选取的时候,都应该对索引位进行排序,如果没有进行排序的话,会报警告。


  • 使用loc对非数值索引进行选取

  • df_new.loc["USA",:]


  • loc函数可以基于索引名进行选取


  • 使用切片函数结合loc函数进行选取

  • idx = pd.IndexSlice

  • df_new.loc[idx[:,:,:],:]

  • df_new.loc[idx["USA",:,[22.0,30.0]],:]


  • 首先通过IndexSlice获取数据集的索引切片,然后可以基于此可