首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pandas | 如何在DataFrame中通过索引高效获取数据?

今天是pandas数据处理专题第三篇文章,我们来聊聊DataFrame中的索引。 上篇文章当中我们简单介绍了一下DataFrame这个数据结构的一些常见的用法,从整体上大概了解了一下这个数据结构。...今天这一篇我们将会深入其中索引相关的应用方法,了解一下DataFrame索引机制和使用方法。...所以DataFrame当中也为我们封装了现成的行索引的方法,行索引的方法一共有两个,分别是loc,iloc。这两种方法都可以查询某一行,只是查询的参数不同,本质上没有高下之分,大家可以自由选择。...: [199, 299, 322, 212, 311], 'gender': ['M', 'F', 'F', 'M', 'M']} df = pd.DataFrame(data) ?...先是iloc查询行之后,再对这些行组成的新的DataFrame进行列索引

12.1K10

Python Dataframe常见索引方式详解

创建一个示例数据框: import pandas as pd df = pd.DataFrame([['乔峰', '男', 95, '降龙十八掌', '主角'], ['虚竹', '...abcdef'.upper()), columns=['name', 'gender', 'score', 'skill', 'class']) df 1、iloc[]  # 列表取值方式索引器...2.loc[]  # 字典取值方式的索引器,只接受 index 和 columns 的值 ? 3、ix[]  # 混合了 iloc 和 loc 的用法,整数和值都接受 ?...4、[[]]  # R语言 中的双中括号索引方式 ? 5、字典形式索引列 ? 6、属性形式索引列(列名称不是整数) ?...还有些切片、花哨索引、布尔掩码都先对简单,且都能在以上方式中应用,私以为不应单独列出。 pandas 的很多形式跟 R语言很是相似,颇值得玩味! 以上就是本文的全部内容,希望对大家的学习有所帮助。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

详解pd.DataFrame中的几种索引变换

导读 pandas中最常用的数据结构是DataFrame,而DataFrame相较于嵌套list或者二维numpy数组更好用的原因之一在于其提供了行索引和列名。...惯例开局一张图 01 索引简介与样例数据 Series和DataFrame是pandas中的主要数据结构类型(老版本中曾有三维数据结构Panel,是DataFrame的容器,后被取消),而二者相较于传统的数组或...,以新接收的一组标签序列作为索引,当原DataFrame中存在该索引时则提取相应行或列,否则赋值为空或填充指定值。...所以,对索引执行变换的另一种可选方式是用map函数,其具体操作方式与DataFrame常规map操作一致,接收一个函数作为参数即可: ?...04 set_index与reset_index set_index和reset_index是一对互逆的操作,其中前者用于置位索引——将DataFrame中某一列设置为索引,同时丢弃原索引;而reset_index

2.1K20

【项目实战】自监控-10-DataFrame索引操作(中篇)

4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 这个系列主要是实际在做项目的一个笔记 自监控项目,主要是对采集的质量监控数据做的一个实时预警 今天讲讲DataFrame...行索引与常规列的互换 主要涉及:reset_index,set_index 今日歌曲: Part 1:构建一个DataFrame 一个DataFrame可以看成一个二维表格,不过这个二维表格有行标题也有列标题...,而且每类标题可能不止一级 示例中由一个字典构建一个DataFrame 通过index参数指定行名称 给行索引本身指定名称ts import pandas as pddict1 = {"a": [1,...Part 2:将索引变成列 使用reset_index将索引变成常规列 通过对replace参数进行设置,确定是否在原变量上执行操作 原索引变成常规列后,会重新自动生成一个默认索引 df.reset_index...Part 3:将列变成索引 使用set_index将常规列变成索引 同样通过设置inplace值决定是否在原变量上执行操作 执行该操作原索引会消失 df.set_index("a", inplace=True

51910

【项目实战】自监控-09-DataFrame索引操作(上篇)

获取索引信息 主要涉及:index,columns 今日歌曲: Part 1:构建一个DataFrame 一个DataFrame可以看成一个二维表格,不过这个二维表格有行标题也有列标题,而且每类标题可能不止一级...示例中由一个字典构建一个DataFrame 通过index参数指定行名称 import pandas as pddict1 = {"a": [1, 3, 5, 6], "b": [11, 12, 15..., 16], "c": [22, 27, 29, 30], "d": [82, 87, 89, 80]}df = pd.DataFrame(dict1, index=[...Part 2:获取索引索引信息 使用index属性获取索引信息,使用values将索引对象转化为列表 使用columns属性获取索引信息,使用values将索引对象转化为列表 注意columns...Part 3:获取某一索引相对位置 获取某一索引在该索引类中的位置,第一位为0 涉及方法get_loc index_ = df.index column_ = df.columnsprint("\n")

49910

【项目实战】自监控-11-DataFrame索引操作(下篇)

-Windows-x86_64 编辑器:pycharm-community-2016.3.2 这个系列主要是实际在做项目的一个笔记 自监控项目,主要是对采集的质量监控数据做的一个实时预警 今天讲讲对DataFrame...的行列索引重排序 今日歌曲: 1 数据源 Part 1:构建一个DataFrame 一个DataFrame可以看成一个二维表格,不过这个二维表格有行标题也有列标题,而且每类标题可能不止一级 示例中由一个字典构建一个...DataFrame 通过index参数指定行名称 构建完一个DataFrame后,另外通过loc又增加了一列 通过字典构建DataFrame,它的列已经默认排序好了 为了体现后续的排序效果,额外增加了一列...2 索引排序 Part 2:根据索引排序 sort_index(axis=0, ascending=True)可以选择对行索引排序还是列索引排序 axis=0对行索引排序 axis=1对列索引排序 ascending...3 索引输出 Part 3:将索引转化为列表输出 使用tolist()函数将索引直接转化为列表 df.index.values也可以得到索引对应的值,但是类型依然是numpy.ndarray ind

35820

Elasticsearch 通过Scroll遍历索引,构造pandas dataframe 【Python多进程实现】

笔者从3.7亿数据的索引,取200多万的数据,从取数据到构造pandas dataframe总共大概用时14秒左右。每个分片用一个进程查询数据,最后拼接出完整的结果。...由于返回的json数据量较大,每次100多万到200多万,如何快速根据json构造pandas 的dataframe是个问题 — 笔者测试过read_json()、json_normalize()、DataFrame...(eval(pandas_json))及DataFrame.from_dict(),from_dict()速度最快 转载请注明出处:https://www.cnblogs.com/NaughtyCat/...() appended_data = [] while (scroll_size > 0): frame = pd.DataFrame.from_dict([document...集合即可构造一个完整的dataframe,如下: frame = pd.concat(result, ignore_index=True, sort = False) ****************

1.4K21

PostgreSQL通过索引获取heap tuple解析

本文介绍通过索引扫描获取heap tuple的TID后,如何通过TID获取heap tuple。 一、先介绍两个数据结构关系 ? 二、接着介绍获取记录流程 ?...1、通过索引扫描后,得到索引记录(key,tid),接着需要通过tid获取对应的heap记录。...only tuple的情况: 1)通过tid得到heap的页号及记录索引号。...2)第一次进来,at_chain_start标记为TRUE即HOT链的起始记录 3)根据tid解析出的页号和索引号得到记录的索引 4)第一次进来,并且记录被修剪了,即老记录的索引号指向了最新记录的索引号...,此时获取最新记录的索引号,返回3)循环获取索引并进行判断 5)记录为最新记录时,获取tuple值并保存到heapTuple中 6)排除被修剪,第一次进来获取对应tuple后调用HeapTupleSatisfiesVisibility

1.1K10

使用Python获取Oracle索引信息

这个专题讲述如何讲这些监控数据保存在MySQL中为日后所用 上节讲到建立一个MySQL数据库并新建一张用于存放索引信息的表 今天讲如何获取Oracle已使用过的索引名称 环境设置 Linux系统为 Centos...MySQL版本 MySQL 5.7 (GA) 连接Oracle模块:cx_Oracle 连接MySQL模块:PyMySQL 捞取原理 由于我们的执行计划都存在v$sql_plan中,所以我们定期从这个视图中获取索引信息...,经过一段时间的积累即可知道哪些索引没被使用过 新建获取索引信息的语句 新建 getindex.sql文件,这里我们从v$sql_plan视图中获取已使用过的索引名称 select DISTINCT OBJECT_OWNER...该脚本获取所有在视图中的索引并把结果存放在一个list(列表)中 脚本名称为 checkindex.py ?...Python获取oracle已使用过的索引名称 下节我们讲如何把结果放到MySQL数据库中

74730

使用Python获取Oracle索引信息

,今天讲如何获取Oracle已使用过的索引名称 由于我们的执行计划都存在v$sql_plan中,所以我们定期从这个视图中获取索引信息,经过一段时间的积累即可知道哪些索引没被使用过 ---- 环境设置...Centos 6.8 Python环境为 Python 3.6 MySQL版本 MySQL 5.7 (GA) 连接Oracle模块:cx_Oracle 连接MySQL模块:PyMySQL ---- 新建获取索引信息的语句...新建 getindex.sql文件,这里我们从v$sql_plan视图中获取已使用过的索引名称 ?...---- 新建脚本自动获取Oracle已使用过的索引名称 该脚本获取所有在视图中的索引并把结果存放在一个list(列表)中 脚本名称为 checkindex.py ?...可以看到已经从v$sql_plan视图中获取到了已使用过的索引的名称 ---- 至此我们已经学会了如何利用Python获取oracle已使用过的索引名称,下节我们讲如何把结果放到MySQL数据库中

91520

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券