• 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=["数学"])  #对按数学成绩进行排序

  • 相关阅读:
    leetcode167 Two Sum II
    leetcode18 4Sum
    leetcode15 three sum
    leetcode-1-Two Sum
    SQL优化——select
    Hadoop 集群搭建
    虚拟机中的两台主机怎么相互拷贝文件
    doker5
    docker4
    docker3
  • 原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10258654.html
Copyright © 2020-2023  润新知