dataframe 切片_Python 多层索引之对象的索引与切片

70ed56e904ff9a10d8e8ce856e9dc0ce.png

前面介绍了多层索引MulitiIndex的创建。接下来我们就来介绍在dataframe中如何使用多层索引。

df如下所示

1a8bc04902193b3f8190825ab9dbb6b3.png

如何索引第0行,第0列的1.39这个数据呢?

第一种方式是利用iloc。因为iloc是根据行、列的号来索引的,因此直接索引即可iloc[0, 0]

15517f663ab0407d24cfa60d9ed613f9.png

第二种方式是采用iloc。采用iloc就需要稍微注意了,因为df是多层索引的dataframe,在通过loc索引时与单层索引稍微有些不同:loc[‘a’, ‘d’]后取的是一整行:

ebfce4ed292388bb6513da2feb27f82d.png

然后再通过loc[‘a’, ‘d’][‘cl0’, ‘r0’]即可选择特定的值,如下所示

fe254ab16278e5798fa77abc2ec68da2.png

上面的方式可能不好理解,那么有没有跟单层索引相类似的loc索引方式呢?答案是有的,通过圆括号()将多层索引变成元组的形式即可:

6bf3ffb8a7320b4aa6da311742add8ea.png

上图的形式,就同单层索引时loc的使用方法相同了。

掌握了如何在多层索引里选择dataframe内的值。我们学习下如何索引多层索引。

这句话可能比较绕口。以上面df.index来说,它的行索引如下

c59b8a3e77d15a0584132849344fa697.png

我们可以将这个MultiIndex变成dataframe对其进行处理。采用的函数如下

pandas.MultiIndex.to_frame(self, index=True, name=None).

其中index=True时默认保留原索引,为False时不保留,如下所示。

162a621706d6ca4230cd667ee3b7969c.png

还可以选择特定的index,得到的会是一个元组,如下所示

9e758a56995788b7c806a2f780e90676.png

我们还能通过pandas.MultiIndex.get_level_values(self, level)来获取MultiIndex特定的索引列。如下所示

d22cb76eb7453df2d6788c8f9e2aa72a.png

通过以上的学习,你学会如何对多层索引进行索引与切片了吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值