• python数据分析——多层索引嵌套


    1. 创建多层列索引

    1) 隐式构造

    最常见的方法是给DataFrame构造函数的index或者columns参数传递两个或更多的数组

    qizhong qizhong qimo qimo chinese math chinese math tom 100 90 80 70

    jay 100 90 80 70

    2) 显示构造pd.MultiIndex.from_

    • 使用数组
    - 使用product:
    最简单,推荐使用
    In [1]:
    import numpy as np
    import pandas as pd
    from pandas import Series,DataFrame
    
    In [2]:
    col=pd.MultiIndex.from_product([['qizhong','qimo'],
                                    ['chinese','math']])
    
    In [3]:
    #创建DF对象
    df = DataFrame(data=np.random.randint(60,120,size=(2,4)),index=['tom','jay'],
             columns=col)
    df
    
    Out[3]:
     qizhongqimo
     chinesemathchinesemath
    tom 108 80 61 72
    jay 83 104 110 74
    In [5]:
    df['qimo']
    
    Out[5]:
     chinesemath
    tom 61 72
    jay 110 74
     

    2. 多层行索引

    除了列索引,行索引也能用上述同样的方法创建多层行索引

    3. 多层索引对象的索引与切片操作

    1)DataFrame的操作

    注意在对行索引的时候,若一级行索引还有多个,对二级行索引会遇到问题!也就是说,无法直接对二级索引进行索引,必须让二级索引变成一级索引后才能对其进行索引! 

    切片操作

    In [4]:
    #获取张三李四期中的php和c++成绩
    
    In [5]:
    #获取张三李四所有的成绩
    
    In [16]:
    # 总结:
    # 访问一列或多列 直接用中括号[columnname]  [[columname1,columnname2...]]
    #访问一行或多行  .loc[indexname]
    # 访问某一个元素  .loc[indexname,columnname]  获取李四期中的php成绩
    # 行切片          .loc[index1:index2]        获取张三李四的期中成绩
    # 列切片          .loc[:,column1:column2]    获取张三李四期中的php和c++成绩

    5. 聚合操作

    所谓的聚合操作:平均数,方差,最大值,最小值……

  • 相关阅读:
    vs2012下如何调试带输入参数的程序
    BASH-数据流重导向
    VS在连接期间的一个错误的处理:转换到 COFF 期间失败: 文件无效或损坏
    vmware中NAT配置不能上网的一个解决方案
    linux下查找
    系统及用户的bash环境配置 学习笔记
    linux中控制台字体和背景颜色配置
    bash中变量的巧用
    vi 常用指令存档
    vim指令示意图
  • 原文地址:https://www.cnblogs.com/bilx/p/11635846.html
Copyright © 2020-2023  润新知