pandas学习-Task03

本文介绍了Pandas中多级索引的loc索引器使用,包括正确选择多层索引的方法和IndexSlice对象的应用。通过公司员工和巧克力数据集的练习题,展示了如何用布尔列表选择列、处理重复索引以及进行复杂查询操作。
摘要由CSDN通过智能技术生成

Datawhale开源内容: https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch3.html#id2

3.2.3 多级索引中的loc索引器

在多级索引中的元组,有一种特殊的用法,可以将多层的元素进行交叉组合后索引,但同时需要指定loc的列,全选为 :。其中,每一层需要选中的元素用列表存放,传入loc的形式为[(level_0_list, level_1_list),cols]。
例子:

  • 取出所有北大和复旦的大二大三学生。
res = df_multi.loc[(['Peking University', 'Fudan University'], ['Sophomore', 'Junior']),:]
res
  • 取出北大的大三学生和复旦的大二学生:

错误写法:【错误原因是这种写法还是指的交叉组合索引,即(Peking,Fudan), (Peking, Sophomore), (Junior, Fudan), (Junior, Sophomore)。那么当然只有 (Peking, Sophomore)能选出结果来啦】

stu1 = df_multi.loc[('Peking University', 'Junior'), ('Fudan University', 'Sophomore'),:]
stu1

正确写法:

stu = df_multi.loc[[('Peking University', 'Junior'), ('Fudan University', 'Sophomore')]]
stu
3.2.3 IndexSlice 对象
np.random.seed(0)
L1, L2 = ['A','B','C'],['a','b','c']
mul_index1 = pd.MultiIndex.from_product([L1, L2], names=('Upper', 'Lower'))
L3, L4 = ['D','E','F'],['d','e','f']
mul_index2 = pd.MultiIndex.from_product([L3,L4], names=('Big','Small'))</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值