zoukankan      html  css  js  c++  java
  • pandas中层次化索引与切片

    Pandas层次化索引

    1. 创建多层索引

    隐式索引:

    常见的方式是给dataframe构造函数的index参数传递两个或是多个数组

    Series也可以创建多层索引

    Series多层索引

    B =Series(np.random.randint(0,150,size=10),index=pd.MultiIndex.from_product([list("ABCDE"),["期中","期末"]]))

    B

    Dataframe多层索引的创建(推荐使用)

    多层行索引

    A = DataFrame(np.random.randint(0,150,size=(10,3)),columns=["数学","语文","英语"],

                 index=pd.MultiIndex.from_product([list("ABCDE"),["期中","期末"]]))

    A

     

    对象方式多行列索引

    B= DataFrame(np.random.randint(0,150,size=(3,20)),index=["数学","语文","英语"],columns=pd.MultiIndex.from_product([list("ABCDE"),["期中","期末"],["上","下"]]))

    B

    元祖方式创建多层索引

    A = DataFrame(np.random.randint(0,150,size=(4,3)),columns=["数学","语文","英语"],

                 index=pd.MultiIndex.from_tuples([("A","期中"),("A","期末"),("B","期中"),("B","期末")]))

    A

    数组方式创建多层索引

    多层索引的对象的索引和切片

    Datafrane多层索引

    行索引:

    A.loc["A","期中"]

    B.loc["A","期中","上"]

    列索引:

    B["A","期中","上"]

    Series多层索引

      

    行切片以下两种都适用

    D["A","期中"]

    D.loc["A","期中"]

     

      

     

    多层索引的切片

    注:对于多层索引的切片必须排好顺序,才能进行切片,使用sort_index()函数对索引进行排序(单层索引可以切片可以不考虑索引的顺序)。

     

    对行进行切片

    A.loc["A":"C"]

     

    A.iloc[1:3]

    对列进行切片同行切片一样,使用显性索引和隐形索引对数据第二维进行切片

     

     

    对数据进行排序是,使用sort_values()对数据进行排序

    如:A.sort_values(by=["数学"])  #对按数学成绩进行排序

  • 相关阅读:
    全局数据库名称/数据库实例/SID 的区别
    【转载】ORACLE 10G DBCA创建脚本实现手动创建数据库
    apue 20130328
    apue 20130323
    visual c++6.0
    C语言
    apue 20130322
    apue 20130324
    apue 20130325
    C语言里的字符串解析
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10258654.html
Copyright © 2011-2022 走看看