加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

pandas基础:reset_index与MultiIndex

(2018-03-26 09:20:06)
分类: python
pandas有很强大的index功能,简单介绍一下reset_index这个函数,先看看定义
level默认原df的index移除,可以自定义,drop如果为true原index就会被移除,inplace是保存,col_level是对多层目录进行插入,简单说就是把指定的目录改为列,col_fill就是把空白的列重命名,看个例子,将要修改的df如下
df.reset_index(drop=True)的话原来的index将会被新的index取代,现在通过multipindex修改一下目录,index增加一个cat子目录,columns也增加多一层,如果需要对index的level1进行提取就写成:df.index.levels[1],   修改后如下
现在index和columns各有两层,然后通过reset_index修改一下,把cat改为columns然后定义在level1,由于level0空白重命名为'letter',修改后如下
现在原来的index第二层变为columns,目录相应增加了level0为letter,看看源码


由于groupby这个函数不能对index进行组合,所以可以通过reset_index()把index变成columns后在进行groupby的计算,例如df.reset_index().groupby(['state','status']).sum()
如果写成df=df.reset_index().groupby(['state','date']).sum() 可以通过df.loc['FL']['2009':'2010']按年份提取

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有