10分钟带你学会Pandas多层级索引

640?wx_fmt=jpeg


作者 |  梁云1991

来源 | Python与算法之美(ID:Python_Ai_Road

Pandas库的名字来源于其中3种主要数据结构开头字母的缩写:

Panel,Dataframe,Series。其中Series表示一维数据,Dataframe表示二维数据,Panel表示三维数据。但实际上,当数据高于二维时,我们一般用包含多层级索引的Dataframe进行表示,而不是使用Panel。原因是使用多层级索引展示数据更加直观,操作数据更加灵活,并且可以表示3维,4维乃至任意维度的数据。

一、多层级索引的创建


1. 指定多维列表作为columns

640?wx_fmt=png

2.使用pd.MultiIndex中的方法显式生成多层级索引

可以使用pd.MultiIndex中的from_tuples等方法生成多层级索引。

640?wx_fmt=png

3.使用set_index方法将普通列转成多层级索引

这种方法只能生成多层级行索引。

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

4. groupby和pivot_table等方法也可以生成带有多层级索引的结果

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


二、多层级索引的取值


多层级索引Series或多层级DataFrame支持方括号直接取值,loc取值,和pd.IndexSlice切片取值等方法。

1.多层级Series的取值

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

2.多层级DataFrame的取值

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

三、多层级索引相关操作


多层级索引相关操作包括stack和unstack,set_index和reset_index,以及指定level的相关方法。

1.stack和unstack

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

2.set_index和reset_index

640?wx_fmt=png

640?wx_fmt=png

3.指定level的相关方法

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

(*本文是Python大本营转载文章,转载请联系原作者)


社群福利

扫码添加小助手,回复:大会,加入2019 AI开发者大会福利群,每周更新技术福利,还有不定期的抽奖活动~

640?wx_fmt=jpeg

推荐阅读

640?wx_fmt=png

你点的每个“在看”,我都认真当成了喜欢

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值