• 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. 聚合操作

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

  • 相关阅读:
    Servlet会话管理一(URL重写和表单隐藏域)
    Eclipse自动补全设置
    String类为什么设计成不可变的
    部署描述符(web.xml)和标注(annotation)
    html中   和空格的区别
    HTML的基本知识点
    Eclipse中配置Tomcat服务器并创建标准Web目录
    Sevlet处理HTML表单
    Servlet API
    Servlet开发的三种方法
  • 原文地址:https://www.cnblogs.com/bilx/p/11635846.html
Copyright © 2020-2023  润新知