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

转载于:https://www.cnblogs.com/kuangkuangduangduang/p/10258654.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值