python pandas索引,pandas行列索引

  python pandas索引,pandas行列索引

  Python中熊猫的层次索引是什么?

  发布时间:2020年6月24日13: 45: 03

  来源:易俗云

  阅读:98

  作者:早上好

  不明白Python中熊猫的层次索引是什么?其实解决这个问题并不难。让边肖带大家学习如何解决这个问题。希望你看完这篇文章后,收获颇丰。

  1.了解层次索引

  下面的例子将创建一个Series对象,Index index由两个子列表组成,第一个子列表是外部索引,第二个列表是内部索引:importpandasaspd。

  importnumpyasnp

  obj=pd。Series(np.random.randn(12),index=[[a , a , a , b , b , b , c , c , d , d , d],[0,1,2,0,1,2,0,1,2]])

  目标文件

  a0-0.201536

  1-0.629058

  20.766716

  b0-1.255831

  1-0.483727

  2-0.018653

  c00.788787

  11.010097

  2-0.187258

  d01.242363

  1-0.822011

  2-0.085682

  数据类型:float64

  2.多索引索引对象

  在上面的例子中尝试打印系列的索引类型,您将得到一个MultiIndex对象。MultiIndex对象的levels属性指示两个级别中的标签,codes属性指示每个位置中的标签,如下所示:importpandasaspd

  importnumpyasnp

  obj=pd。Series(np.random.randn(12),index=[[a , a , a , b , b , b , c , c , d , d , d],[0,1,2,0,1,2,0,1,2]])

  目标文件

  a00.035946

  1-0.867215

  2-0.053355

  b0-0.986616

  10.026071

  2-0.048394

  c00.251274

  10.217790

  21.137674

  d0-1.245178

  11.234972

  2-0.035624

  数据类型:float64

  类型(对象索引)

  对象索引

  MultiIndex([(a ,0),

  ( a ,1),

  ( a ,2),

  ( b ,0),

  ( b ,1),

  ( b ,2),

  ( c ,0),

  ( c ,1),

  ( c ,2),

  ( d ,0),

  ( d ,1),

  ( d ,2)],

  )

  对象索引级别

  FrozenList([[a , b , c , d],[0,1,2]])

  对象索引代码

  FrozenList([[0,0,0,1,1,1,2,2,2,3,3],[0,1,2,0,1,2,0,1,2,0,1,1,2]])

  通常可以使用from_arrays()方法将数组对象转换为MultiIndex对象:arrays=[[1,1,2,2],[red , blue , red , blue]]

  警察。MultiIndex.from_arrays(数组,名称=(number , color ))

  MultiIndex([(1, red ),

  (1,“蓝色”),

  (2,“红色”),

  (2,‘蓝色’)],

  names=[number , color])

  其他常用方法见下图:

  3.提取值

  对于这种有多级索引的对象,如果只传入一个参数,将提取外部索引,其中包含所有对应的内部索引。如果传入两个参数,第一个参数指示外部索引,第二个参数指示内部索引。示例如下:importpandasaspd

  importnumpyasnp

  obj=pd。Series(np.random.randn(12),index=[[a , a , a , b , b , b , c , c , d , d , d],[0,1,2,0,1,2,0,1,2]])

  目标文件

  a00.550202

  10.328784

  21.422690

  b0-1.333477

  1-0.933809

  2-0.326541

  c00.663686

  10.943393

  20.273106

  d01.354037

  1-2.312847

  2-2.343777

  数据类型:float64

  obj[b]

  0-1.333477

  1-0.933809

  2-0.326541

  数据类型:float64

  [b]1

  -0.9338094811708413

  目标[:2]

  a1.422690

  b-0.326541

  c0.273106

  数字2.343777

  数据类型:float64

  4.交换分层和分类

  multi对象的swaplevel()方法可以交换外部和内部索引,sortlevel()方法首先对外部索引进行排序,然后是内部索引。默认值为ascending,如果ascending参数设置为False,它将按降序排序,如下例所示:importpandasaspd

  importnumpyasnp

  obj=pd。Series(np.random.randn(12),index=[[a , a , a , b , b , b , c , c , d , d , d],[0,1,2,0,1,2,0,1,2]])

  目标文件

  a0-0.110215

  10.193075

  2-1.101706

  b0-1.325743

  10.528418

  2-0.127081

  c0-0.733822

  11.665262

  20.127073

  d01.262022

  1-1.170518

  20.966334

  数据类型:float64

  obj.swaplevel()

  0a-0.110215

  1a0.193075

  2a-1.101706

  0b-1.325743

  1b0.528418

  2b-0.127081

  0c-0.733822

  1c1.665262

  2c0.127073

  0d1.262022

  1d-1.170518

  2d0.966334

  数据类型:float64

  obj . swap level()index . sort level()

  (MultiIndex([(0, a ),

  (0, b ),

  (0, c ),

  (0, d ),

  (1, a ),

  (1, b ),

  (1, c ),

  (1, d ),

  (2, a ),

  (2, b ),

  (2,“c”),

  (2, d)],

  ),数组([0,3,6,9,1,4,7,10,2,5,8,11],dtype=int32)

  感谢您认真阅读本文。希望对大家分享一下Python中熊猫的层次索引是什么有帮助。同时希望大家能支持亿云,关注亿云行业资讯频道,遇到问题找亿云。详细解决方案等你来学!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: