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

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

52710

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

Windows-x86_64 编辑器:pycharm-community-2016.3.2 这个系列主要是实际在做项目的一个笔记 自监控项目,主要是对采集的质量监控数据做的一个实时预警 今天讲讲如何从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

50410

【项目实战】自监控-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

36720

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.4K10

Pandas知识点-连接操作concat

在这两个例子中,按行连接时,两个DataFrame的列索引相同,按列连接时,两个DataFrame的行索引相同,所以结果看起来很直观。 3. 被连接数据的索引不同 ? 连接原理如下。 ?...这个例子中,两个DataFrame的行索引和列索引都不相等,将它们按行连接时,先将两个DataFrame的行拼接起来,然后在每行中没有数据的列填充空值。按列连接同理。...四按列连接时修改行索引 ---- ? 按列连接时,可以使用reindex()方法修改结果的行索引(按行连接时不支持)。...如果取的是并集,修改行索引的过程为:先按取并集的方式连接,然后去掉结果中比修改的索引多出的行。...如果取的是交集,修改行索引的过程为:先按取交集的方式连接,然后在结果中增加比修改的索引少的行,增加回的行中填充空值。 五重设结果的索引 ---- ?

2K50

R中的数据结构(Array,Factor,List,DataFrame)

1、R中的数据结构-Array #一维数组 x1 <- 1:5; x2 <- c(1,3,5,7,9) x3 <- array(c(2, 4, 6, 8, 10)) #多维数组 xs <- array...修改,同理,可以访问的地方,都可以修改 j$salary <- j$salary+j$salary*0.08 #3、删除,把可以访问的地方,设置为NULL,即为删除, #注意,删除之后,它后面的位置索引都自动减一...j$sex <- NULL; j #四、检索 j=='Joe' #五、查看长度 length(j) 4、R中的数据结构-DataFrame 数据框用于存储多行和多列的数据集合。...names(f)[names(f)=='name'] <- "name2" #修改行名 row.names(f) row.names(f) <- 0:2 f #删除行 f[-1,] f #注意,...删除后的DataFrame需要一个变量来接收,并不会直接修改原来的 nf <- f[-1, ] nf f <- f[-1, ] #删除列 f[, -1] f nf <- f[, -1] nf #增加行

2.3K90

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.5K21
领券