点击查看【bilibili】

多重索引

  1. df.groupby(by=['city','education']).mean()

image.png

多重索引切片方式

  1. #错误方法:因为city和education是索引不是列,索引不能直接切片,否则报错
  2. df.groupby(by=['city','education']).mean()['北京']
  3. KeyError: '北京'
  1. #方法1:
  2. 先将数据框切为series,再对series切片,注意先切第一重索引,再切第二重索引。
  3. df.groupby(by=['city','education']).mean().avg['北京']['硕士']
  4. 19.51063829787234
  5. #方法2:也可直接使用loc[],对索引进行筛选。多重索引时,注意loc中列表的顺序,先第一重再第二重
  6. df.groupby(['city','education']).mean().loc['北京','硕士']
  7. companyId 5.579256e+04
  8. positionId 2.188171e+06
  9. bottom 1.440426e+01
  10. top 2.461702e+01
  11. avg 1.951064e+01
  12. Name: (北京, 硕士), dtype: float64

设置多重索引.set_index([索引1,索引2])

  1. #set_index(),将列设置为索引
  2. df1=df.set_index(['city','education'])
  3. df1

image.png

重置索引.reset_index()

  1. #.reset_index()重置索引,将索引转化为列
  2. df1.reset_index()

image.png