zoukankan      html  css  js  c++  java
  • 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. 聚合操作

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

  • 相关阅读:
    记录一次Jmeter性能测试
    【转】解疑性能测试之集合点
    WebService的发布及客户端的调用
    Jmeter性能测试之如何写Java请求测试用例类
    Vue nextTick用法
    Geolocation 地理定位
    Vue 生命周期及运用场景
    CSS3 动画基本使用
    Electron菜单
    Electron + vue 项目安装vue-devtools调试工具
  • 原文地址:https://www.cnblogs.com/bilx/p/11635846.html
Copyright © 2011-2022 走看看