第1关:多级索引的取值与切片

这篇博客介绍了如何在Python的pandas库中创建和操作多级索引,包括创建多级行和列索引、设置等级名称、转换索引以及如何进行取值和切片。重点讲解了对多级索引数据框的元素访问,如局部取值和使用IndexSlice进行精确切片。此外,还提到了在DataFrame中多级索引的使用方法。
摘要由CSDN通过智能技术生成

任务描述

本关任务:根据相关知识以及编程要求,得到目标DataFrame多级索引。

相关知识

创建多级索引

  1. 通过MultiIndex构建多级索引:

     
      
    1. index = [('California', 2000), ('California', 2010), ('New York', 2000), ('New York', 2010), ('Texas', 2000), ('Texas', 2010)]
    2. populations = [33871648, 37253956, 18976457, 19378102, 20851820, 25145561]
    3. pop = pd.Series(populations, index=index)
    4. # 1.基于元组创建
    5. index1 = pd.MultiIndex.from_tuples(index)
    6. index1
    7. Out:
    8. MultiIndex(levels=[['California', 'New York', 'Texas'], [2000, 2010]], codes=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])

    MultiIndex里面有一个levels属性表示索引的等级——这样做可以将州名和年份作为每个数据点的不同标签。如果将前面创建的pop的索引重置(reindex)MultiIndex,就会看到层级索引。其中前两列表示Series的多级索引值,第三列式数据。

     
      
    1. pop1 = pop.reindex(index1)
    2. pop1
    3. Out:
    4. California 2000 33871648
    5. 2010 37253956
    6. New York 2000 18976457
    7. 2010 19378102
    8. Texas 2000 20851820
    9. 2010 25145561
    10. dtype: int64

    查询2010年的数据。

     
      
    1. pop[:, 2010] # 得到的是一个单索引数组
    2. Out:
    3. California 37253956
    4. New York 19378102
    5. Texas 25145561
    6. dtype: int64

    以上的例子都是Series创建多级行索引,而每个DataFrame的行与列都是对称的,也就是说既然有多级行索引,那么同样可以有多级列索引。只需要在创建DataFrame时将columns的参数传入一个MultiIndex

  2. 通过二维索引数组创建多级索引:
    SeriesDataFrame创建多级索引最直接的办法就是将index</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值