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

10分钟带你学会Pandas多层级索引_第1张图片


作者 |  梁云1991

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

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

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

一、多层级索引的创建


1. 指定多维列表作为columns

10分钟带你学会Pandas多层级索引_第2张图片

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

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

10分钟带你学会Pandas多层级索引_第3张图片

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

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

10分钟带你学会Pandas多层级索引_第4张图片

10分钟带你学会Pandas多层级索引_第5张图片

10分钟带你学会Pandas多层级索引_第6张图片

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

10分钟带你学会Pandas多层级索引_第7张图片

10分钟带你学会Pandas多层级索引_第8张图片

10分钟带你学会Pandas多层级索引_第9张图片


二、多层级索引的取值


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

1.多层级Series的取值

10分钟带你学会Pandas多层级索引_第10张图片

10分钟带你学会Pandas多层级索引_第11张图片

10分钟带你学会Pandas多层级索引_第12张图片

10分钟带你学会Pandas多层级索引_第13张图片

2.多层级DataFrame的取值

10分钟带你学会Pandas多层级索引_第14张图片

10分钟带你学会Pandas多层级索引_第15张图片

10分钟带你学会Pandas多层级索引_第16张图片

10分钟带你学会Pandas多层级索引_第17张图片

10分钟带你学会Pandas多层级索引_第18张图片

640?wx_fmt=png

三、多层级索引相关操作


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

1.stack和unstack

10分钟带你学会Pandas多层级索引_第19张图片

10分钟带你学会Pandas多层级索引_第20张图片

10分钟带你学会Pandas多层级索引_第21张图片

2.set_index和reset_index

10分钟带你学会Pandas多层级索引_第22张图片

10分钟带你学会Pandas多层级索引_第23张图片

3.指定level的相关方法

10分钟带你学会Pandas多层级索引_第24张图片

10分钟带你学会Pandas多层级索引_第25张图片

10分钟带你学会Pandas多层级索引_第26张图片

10分钟带你学会Pandas多层级索引_第27张图片

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


社群福利

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

640?wx_fmt=jpeg

推荐阅读

  • 开源之战

  • 谁偷偷删了你的微信?别慌!Python帮你都揪出来了

  • 吐血整理!140种Python标准库、第三方库和外部工具都有了

  • 如何用爬虫技术帮助孩子秒到心仪的幼儿园(基础篇)

  • Python传奇:30年崛起之路

  • 干货 | Python后台开发的高并发场景优化解决方案

  • 2019年最新华为、BAT、美团、头条、滴滴面试题目及答案汇总

  • 阿里巴巴杨群:高并发场景下Python的性能挑战

640?wx_fmt=png

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

你可能感兴趣的:(10分钟带你学会Pandas多层级索引)