时间:2021-05-23
普通-多个index创建
Series多层索引的创建方法
张三 期中 1
期末 2
李四 期中 3
期末 4
王五 期中 5
期末 6
dtype: int64
Java Web Python 张三 期中 68 4 90 期末 33 63 73 李四 期中 30 13 68 期末 14 18 48 王五 期中 34 66 26 期末 89 10 35
Java Web Python 张三 期中 51 78 47 期末 39 53 36 李四 期中 33 60 83 期末 90 55 3 王五 期中 37 45 66 期末 6 82 71
from_product()在这个里面的列表中位置不同, 产生的索引页会不同
Java Web Python 期中 张三 51 78 47 李四 39 53 36 王五 33 60 83 期末 张三 90 55 3 李四 37 45 66 王五 6 82 71
from_product([exam,names])会将列表中第一个元素作为最外层索引,依次类推
获取到我们想要的数据
创建数据
import pandas as pds = pd.Series([1,2,3,4,5,6],index=[['张三','张三','李四','李四','王五','王五'], ['期中','期末','期中','期末','期中','期末']])print(s)张三 期中 1
期末 2
李四 期中 3
期末 4
王五 期中 5
期末 6
dtype: int64
可以直接使用[]的方式取最外面的一个层级 s[‘张三']
s['李四']# 注意:[]取值方式,不可直接使用最外层以外的其他层级,例如:s['期末']期中 3
期末 4
dtype: int64
使用['外索引', '内索引'], 获取某个数据
注意:[‘张三',‘期末']他们的顺序不能变。剥洋葱原则,从外到内一层一层的剥。
s['李四', '期中'] # 李四期中分值# 注意:['张三','期末']他们的顺序不能变。剥洋葱原则,从外到内一层一层的剥。3
使用[]的切片,获取数据s[:,‘期中']
s[:,'期中'] # 第一个值为全部的外索引张三 1
李四 3
王五 5
dtype: int64
张三 1
李四 3
王五 5
dtype: int64
在对多层索引DataFrame的取值是,推荐使用 loc() 函数
Java Web Python 张三 期中 3 40 52 期末 74 38 85 李四 期中 7 28 16 期末 9 25 0 王五 期中 13 24 8 期末 49 46 1
三种方式都可以获取张三期中各科成绩
# df.loc['张三','期中']# df.loc['张三'].loc['期中']# df.loc[('张三','期中')]注意:DataFrame中对行索引的时候和Series有一个同样的注意点,就是无法直接对二级索引直接进行索引,必须让二级索引变成一级索引后才能对其进行索引
创建数据
Java Web Python b 2 56 82 81 1 84 16 55 3 35 25 86 c 2 76 1 76 1 36 28 94 3 79 70 97 a 2 25 17 30 1 38 38 78 3 41 75 90
Java Web Python a 1 18 60 74 2 66 87 27 3 96 18 64 b 1 72 58 52 2 22 31 22 3 31 12 83 c 1 6 54 96 2 9 47 18 3 31 63 4
# 当level=0时,ascending=False, 会根据第一层索引值进行降序排序df.sort_index(level=0,ascending=False)Java Web Python c 3 79 70 97 2 76 1 76 1 36 28 94 b 3 35 25 86 2 56 82 81 1 84 16 55 a 3 41 75 90 2 25 17 30 1 38 38 78
# 当level=1时,会根据第二层索引值进行降序排序df.sort_index(level=1,ascending=False)# 数据会根据第二层索引值进行相应的降序排列,# 如果索引值相同时会根据其他层索引值排列Java Web Python c 3 79 70 97 b 3 35 25 86 a 3 41 75 90 c 2 76 1 76 b 2 56 82 81 a 2 25 17 30 c 1 36 28 94 b 1 84 16 55 a 1 38 38 78
通过level设置排序的索引层级,其他层索引也会根据其排序规则进行排序
到此这篇关于pandas多层索引的创建和取值以及排序的实现的文章就介绍到这了,更多相关pandas多层索引内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
#背景介绍通常我们不会在Pandas中主动设置多层索引,但是如果一个字段做多个不同的聚合运算,比如sum,max这样形成的ColumnLevel是有层次的,这样
在最新版的pandas中(不知道之前的版本有没有这个问题),当我们对具有多层次索引的对象做切片或者通过df[bool_list]的方式索引的时候,得到的新的对象
很多朋友问我,怎样创建和调用谷歌站内搜索的自定义搜索引擎。今天就给大家简单唠唠如何在Google网站站长工具中创建和管理自定义搜索引擎。还有什么不明白地方可以留
一.线程的创建和使用1.Thread类基本的创建和使用:start();当然,作为线程类,必须还有另外一些用于查询线程状态以及管理线程的方法stack($t1)
MySQL数据库表可以创建、查看、重建和删除索引,索引可以提供查询速度。索引根据分类,分为普通索引和唯一索引;有新建索引、修改索引和删除。但是索引不是到处都可以