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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。