DataFrame 索引和复合索引
前面按照多个条件进行分组产生的索引是复合索引
一、索引
# a、获取index
df.index
# b、指定index
df.index = []
# c、重新设置index
df.reindex(['a', 'b', 'c'])
# 注意:一般不用
# d、指定某一列作为index
df2 = df1.set_index('O', drop=False)
# drop默认是True,丢弃指定的那一列
# e、指定某多列作为index
df2 = df1.set_index(['M', 'O'], drop=False)
# f、对index进行去重操作
df1.set_index('O', drop=False).index.unique()
二、复合索引
1、基础知识
# a、复合索引
df.set_index(['c', 'd'])
# b、交换复合索引的顺序
df.swaplevel()
2、Series
# a、取Series
df.set_index(['c', 'd'])['a'] # Series
# b、取具体值
df.set_index(['c', 'd'])['a']['c列的索引值']['d列的索引值']
# 或
df.set_index(['c', 'd'])['a']['c列的索引值', 'd列的索引值']
3、DataFrame
# a、取DataFrame
df.set_index(['c', 'd'])[['a']]
# b、取具体值
df.set_index(['c', 'd'])[['a']].loc['c列的索引值'].loc['d列的索引值']
DataFrame 索引和复合索引的更多相关文章
- mySql的普通索引和复合索引
有关普通索引和组合索引问题: 索引分单列索引和组合索引:单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引:组合索引,即一个索包含多个列. MySQL索引类型包括: ...
- Mysql复合索引
当Mysql使用索引字段作为条件时,如果该索引是复合索引,必须使用该索引中的第一个字段作为条件才能保证系统使用该索引,否则该索引不会被使用,并且应尽可能地让索引顺序和字段顺序一致
- Sql Server之旅——第九站 看公司这些DBA们设计的这些复合索引
这一篇再说下索引的最后一个主题,索引覆盖,当然学习比较好的捷径是看看那些大师们设计的索引,看从中能提取些什么营养的东西,下面我们看 看数据库中一个核心的Orders表. 一:查看表的架构 <1& ...
- SQL SERVER大话存储结构(4)_复合索引与包含索引
索引这块从存储结构来分,有2大类,聚集索引和非聚集索引,而非聚集索引在堆表或者在聚集索引表都会对其 键值有所影响,这块可以详细查看本系列第二篇文章:SQL SERVER大话存储结构 ...
- MongoDB复合索引详解
摘要: 对于MongoDB的多键查询,创建复合索引可以有效提高性能. 什么是复合索引? 复合索引,即Compound Index,指的是将多个键组合到一起创建索引,这样可以加速匹配多个键的查询.不妨通 ...
- 第31章:MongoDB-索引--复合索引
①复合索引 对多个字段创建索引被称为复合索引或者组合索引 ②创建组合索引 创建组合索引(以后台模式创建) db.user.ensureIndex({"username": 1, & ...
- 深入理解MongoDB的复合索引
更新时间:2018年03月26日 10:17:37 作者:Fundebug 我要评论 对于MongoDB的多键查询,创建复合索引可以有效提高性能.这篇文章主要给大家介绍了关于MongoDB复 ...
- 100W数据,测试复合索引
复合索引不是那么容易被catch到的. 两个查询条件都是等于的时候,才会被catch到. mysql> select count(*) from tf_user_index where sex ...
- ( 转 ) mysql复合索引、普通索引总结
对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合 ...
随机推荐
- 如何通过命令行 msbuild 编译项目
本文告诉大家如何通过 msbuild 编译一个项目,通过命令行编译可以输出更多的编译信息,可以用来调试自己写的编译相关方法,可以看到是哪个文件编译失败 在开始菜单可以找到 VisualStudio 的 ...
- java 面试题之银行业务系统
1.需求 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客 ...
- Java 5,6,7,8,9,10,11新特性吐血总结
作者:拔剑少年 简书地址:https://www.jianshu.com/u/dad4d9675892 博客地址:https://it18monkey.github.io 转载请注明出处 java5 ...
- H3C通过端口ID决定端口角色
- 【b503】篝火晚会
Time Limit: 1 second Memory Limit: 50 MB [问题描述] 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了"小教官" ...
- JavaSE基础知识---常用对象API之String类
一.String类 Java中用String类对字符串进行了对象的封装,这样的好处在于对象封装后可以定义N多属性和行为,就可以对字符串这种常见的数据进行方便的操作. 格式:(1)String s1 = ...
- Elasticsearch搜索调优
最近把搜索后端从AWS cloudsearch迁到了AWS ES和自建ES集群.测试发现search latency高于之前的benchmark,可见模拟数据远不如真实数据来的实在.这次在产线的bac ...
- SpringBoot-Swagger整合zuul智能列表
SpringBoot-Swagger整合zuul智能列表 简介 可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调. 现在基本都是多模块微服务化,每个服务都有这样的ui页 ...
- 第二阶段:4.商业需求文档MRD:1.PRD-产品功能列表
这就是对功能清单的梳理已经优先级筛选
- 如何设置Linux时间
\(\color{Black}{文/魂皓轩}\) linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间.当 ...