pandas学习-Task03

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'
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值