多重索引
- 设置多重索引
# 导入数据
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获取数据集的索引切片,然后可以基于此可以对多个列来进行选取。