查看原文
其他

10分钟学会用Pandas做多层级索引


作者 | 梁云1991

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


【导语】Pandas库的名字来源于其中3种主要数据结构开头字母的缩写:Panel,Dataframe,Series。其中Series表示一维数据,Dataframe表示二维数据,Panel表示三维数据。当数据高于二维时,一般却不用 Panel 表示,为什么呢?如果不用 Panel,又该怎么做呢?


实际上,当数据高于二维时,我们一般用包含多层级索引的Dataframe进行表示,而不是使用Panel。原因是使用多层级索引展示数据更加直观,操作数据更加灵活,并且可以表示3维,4维乃至任意维度的数据。具体要怎么做呢?下面我们就从多层级索引的创建、取值与操作等内容教大家一些方法!


一、多层级索引的创建


1、指定多维列表作为columns



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


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



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


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




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




二、多层级索引的取值


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


1、多层级Series的取值




2、多层级DataFrame的取值






三、多层级索引相关操作


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


1、stack和unstack



2、set_index和reset_index



3、指定level的相关方法




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


精彩推荐


“只讲技术,拒绝空谈”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


目前,大会早鸟票抢购中~扫码购票,领先一步!


推荐阅读:


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

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存