一文速学-Pandas查询索引操作详解+实例代码展示

news2025/7/23 6:44:00

目录

前言

一、按列表索引查询

查询单值

 1.at(单值查询-loc)

  2.iat(单值查询-iloc)

3. loc(行/列名索引查询)

 4. iloc(行/列索引查询)

二、按条件查询

单条件查询

多条件查询

嵌套筛选

总结


前言

关于一文速学Pandas系列已经将基础部分内容更完,基础部分的内容完全可以满足大部分数据分析应用场景且绝对够用。对于分析工具最快速上手的方法还是创造条件去实际运用它,反复运用直至能够熟练想到该使用何种方法去实现该功能需求。

Pandas数据分析系列专栏已经更新了很久了,基本覆盖到使用pandas处理日常业务以及常规的数据分析方方面面的问题。从基础的数据结构逐步入门到处理各类数据以及专业的pandas常用函数讲解都花费了大量时间和心思创作,如果大家有需要从事数据分析或者大数据开发的朋友推荐订阅专栏,将在第一时间学习到Pandas数据分析最实用常用的知识。此篇博客篇幅较长,涉及到数据可视化等各类操作,值得细读实践一番,我会将Pandas的精华部分挑出细讲实践。博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。

有些Pandas的基本常用功能我会再进行进一步的细讲以及一些高阶操作和用法,在之前学习基础之上更加易于理解和掌握,也起到了完整知识链的补全作用。之前在讲数据筛选查询可能讲的不是足够细致,一些高阶用法还没有展示,现在补全。


一、按列表索引查询

查询单值

按照索引位置查询一个DataFrame中对应位置的元素共有四个API函数可以使用,我们首先来看看如何用。先创建一个DataFrame:

data={
    'name':['user1','user2','user3','user'],
    'city':['北京','深圳','上海','杭州'],
    'territory':['大数据','数据分析','数据分析','spark']
}
index=['id1','id2','id3','id4']
df=pd.DataFrame(data,index=index)
df

 

 1.at(单值查询-loc)

访问行/列标签对的单个值。
与loc类似,两者都提供基于标签的查找。如果只需要在DataFrame或Series中获取或设置单个值,使用at最为便捷。

df.at['id3','city']

 

 也可以快速修改对应值:

df.at['id3','city']='江苏'
df

 

  2.iat(单值查询-iloc)

按整数位置访问行/列对的单个值。
与iloc类似,两者都提供基于整数的查找。如果只需要在DataFrame或Series中获取或设置单个值,使用iat最为便捷。
 

df.iat[0,2]

 

 当然修改单值也是一样的:

df.iat[0,2]='小数据'
df

 

3. loc(行/列名索引查询)

loc可太常用了,我更喜欢用iloc。通过标签或布尔数组访问一组行和列。.loc[]主要基于标签,但也可以与布尔数组一起使用。
允许的输入包括:

  1. 单个标签,例如5或“A”(注意,5被解释为索引的标签,而不是索引中的整数位置)。
  2. 标签的列表或数组,例如[‘A’、‘b’、‘c’]。
  3. 带有标签的切片对象,例如“A”:“f”。
  4. 与被切片的轴长度相同的布尔数组,例如[True,False,True]。
  5. 可对齐的布尔级数。键的索引将在屏蔽之前对齐。
  6. 可对齐的索引。返回选择的索引将作为输入。
  7. 一个带有一个参数(调用Series或DataFrame)的可调用函数,该函数返回有效的索引输出(上述之一)

1.单个标签

df.loc['id1','city']

 

2. 标签的列表或数组

df.loc[['id1','id2'],:]

 

 3.带有标签的切片对象

df.loc['id1':'id2',:]

 4.与被切片的轴长度相同的布尔数组

df.loc[[True,False,True,False],:]

 

等下面将到条件查询会更加细致的讲解。

 4. iloc(行/列索引查询)

iloc在工程是由于是可以根据对应数字来访问索引的,故可以用作很多复杂查询聚合里面。

纯整数基于位置的索引,用于按位置进行选择。.iloc[]主要基于整数位置(从0到轴的长度-1),但也可以与布尔数组一起使用。
允许的输入包括:

  1. 整数,例如5。
  2. 整数的列表或数组,例如[4,3,0]。
  3. 带有整数的切片对象,例如1:7。
  4. 布尔数组。
  5. 一个带有一个参数(调用Series或DataFrame)的可调用函数,该函数返回有效的索引输出(上述之一)。当您没有对调用对象的引用,但希望基于某个值进行选择时,这在方法链中非常有用。
  6. 行和列索引的元组。元组元素由上述输入之一组成,例如(0,1)。

1.索引值

df.iloc[1,1]

 

 2.整数的列表或数组

df.iloc[[0,1],1]

 

 3.带有整数的切片对象

df.iloc[0:1,0:2]

 

 等下面将到条件查询会更加细致的讲解。

二、按条件查询

若是没有复杂查询的话,dataframe支持直接嵌套Ture,False矩阵来实现查询:

单条件查询

例如查询城市为北京的数据:

df[df.city=='北京']

df.loc[df.city=='北京']

df.loc[lambda df: df['city'] == '北京']

多条件查询

查询领域为数据分析且城市在上海的:

df[(df.territory=='数据分析')&(df.city=='上海')]

 

df.loc[(df.territory=='数据分析')&(df.city=='上海')]

 

df.loc[lambda df:(df.territory=='数据分析')&(df.city=='上海')]

 

嵌套筛选

主要通过iloc和lambda实现。

比如我只想要奇数列的数据:

df.iloc[:,[(i-1)%2==1 for i in range(1,len(df.columns)+1)]]

 或者可以编写一个函数实现想要的功能:

def find_data(df):
    return df['city']=='北京'
df.loc[find_data]

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/368468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASEMI高压MOS管ASE65R330参数,ASE65R330图片

编辑-Z ASEMI高压MOS管ASE65R330参数: 型号:ASE65R330 漏极-源极电压(VDS):650V 栅源电压(VGS):20V 漏极电流(ID):12.5A 功耗(P…

[数据结构]:03-栈(C语言实现)

目录 前言 已完成内容 单链表实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-StackCommon.cpp 04-StackFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码。使用C引用主要是为了简…

跨境卖家必看的沃尔玛Walmart商家入驻教程

沃尔玛Walmart作为作为全球连锁超市的鼻祖,有不可比拟的知名度。当沃尔玛从线下延伸到线上后,就成为一个自带IP与流量的线上平台,在全世界都拥有数量庞大的消费者群体。所以龙哥就结合自己注册Walmart的过程给大家详细讲解一下。 Walmart卖家…

365智能云打印怎么样?365小票无线订单打印机好用吗?

365智能云打印怎么样?365智能云打印是有赞官方首推的订单小票打印机,荣获2016年有赞最佳硬件服务商。可以实现远程云打印,无需连接电脑,只需通过GPRS流量或者WIFI即可连接,不受地理位置和距离限制。365小票无线订单打印…

1W+企业都在用的数字化管理秘籍,快收藏!

企业数字化,绕不开的话题。 随着国家相继出台各种举措助力中小企业数字化转型,积极推动产业数字化转型,培育数字经济新生态,企业想要谋生存,求发展,必然需要做好数字化转型和管理。 本篇文章想跟大家一起…

【STM32MP157应用编程】2.GPIO输入、输出、中断

目录 GPIO文件 指令操作GPIO 程序操作GPIO 程序说明 程序代码 2_GPIO_4.c 启动交叉编译工具 编译 拷贝到开发板 测试 GPIO文件 在/sys/class/gpio目录下,存放了GPIO的文件。 gpiochipX:当前SoC所包含的GPIO控制器,STM32MP157一共包…

新型开源C2框架:浩劫

研究人员发现了一次针对政府实体的新攻击,攻击者在此期间使用了一种名为浩劫(Havoc )的新型 C2 框架。 尽管 C2 框架广泛可用,但 Havoc 作为一种先进的后开发框架脱颖而出,可以躲避最新版本的 Windows 11 Defender。 …

一文带你快速初步了解云计算与大数据

目录 🔍一、云计算基础 1、云计算的概念、特点、关键技术 2、云计算的分类 3、云计算的部署模式 4、云计算的服务模式:IaaS、PaaS、SaaS分别是什么,具体含义要清楚 5、物联网的概念 6、物联网和云计算、大数据的关系 7、了解云计算的…

Python-生成元组和字典

1.生成元组元组是元素按顺序组合后的产物,元组对象的类型是tuple型含有两个元素的元组成为数据对元组可以包含任意数量和任意类型的元素,其元素总数可以为0、1、2等,并且元素的先后顺序是由意义的。另外,元组中的元素类型没有必要…

open3d最大平面检测,平面分割

1.点云读入 读入文件(配套点云下载链接) # 读取点云 pcd o3d.io.read_point_cloud("point_cloud_00000.ply")配套点云颜色为白色,open3d的点云显示默认背景为白色,所以将点云颜色更改为黑色 pcd.colors o3d.utilit…

利用 OLE 对象漏洞的 HWP 恶意文件浮出水面

ASEC 分析人员发现了一个利用 OLE 对象的恶意 HWP 文件,尽管其使用了 2020 年就被识别的恶意 URL,但仍然使用了 Flash 漏洞(CVE-2018-15982),需要用户谨慎对待。 打开 HWP 文件时会在 %TEMP%文件夹中生成如下文件。攻…

数据结构之基:从根儿上了解数据结构的特性

学好数据结构,就等于成功了一半。 程序是对现实的模拟,现实是由时间和空间组成的,高效的人都是用最少的时间、最少的空间来做最伟大的事,程序亦是如此。我们要选择最合理的算法和最合理的数据结构,来写最好的代码&…

MySQL进阶知识

1 存储引擎1.1 MySQL体系结构1.2 存储引擎简介存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,同一个库的多个表可以采用不同的存储引擎,所以存储引擎也经常称为表类型。创建表时可以指…

Rocketmq源码(一)手把手本地调试

很久没有学习了,从前是因为太忙,现在是因为太懒。立个flag,一定要把rocketmq源码看完!源码阅读从idea的环境搭建和debug开始~ Idea搭建调试目录代码下载代码架构启动namesvr启动broker启动consumer启动producer代码下载…

深度学习训练营之yolov5 官方代码调用以及-requirements.txt下载当中遇到的问题

深度学习训练营之yolov5 官方代码调用原文链接内容总结环境介绍前置工作简单介绍yolov5下载源码yolov5的下载遇到问题问题解析问题处理创建虚拟环境下载当中遇到的问题代码运行视频检测参考内容原文链接 🍨 本文为🔗365天深度学习训练营 中的学习记录博客…

taobao.trades.sold.query( 根据收件人信息查询交易单号 )

¥开放平台免费API必须用户授权聚石塔内调用 根据收件人信息查询交易单号。 公共参数 请求地址: HTTP地址 公共请求参数: 公共响应参数: 请求参数 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, secret); TradesSoldQueryRequest req new…

我用了33行纯CSS实现了下划线的交互动画效果

背景 最近看到了一个特别炫酷的网站上的一个小细节,下划线的动画。看下他的实现效果。 但是,假如我们左边并没有足够的空间存放一条不可见的下划线呢? 像这样。 思路与实现 我要把这个下划线也做成文章刚开始的动画。就不是太好借鉴上面的思…

Windows Server 2022 中文版、英文版下载 (updated Feb 2023)

Windows Server 2022 中文版、英文版下载 (updated Feb 2023) Windows Server 2022 正式版,2023 年 2 月更新 请访问原文链接:https://sysin.org/blog/windows-server-2022/,查看最新版。原创作品,转载请保留出处。 作者主页&a…

Spring Boot 调取Bartender使用教程

Spring Boot 调取Bartender使用教程.md 原文链接:小回博客 博主可帮忙配置bartender进行打印,另有完整Mes系统源码。业务清单 文章目录Spring Boot 调取Bartender使用教程.md[toc]一、复制解压压缩包JavaBarTenderPrint.zip到C盘根目录下:二…

DNF搭建服务器服务端搭建教程

DNF搭建服务器服务端搭建教程 我是艾西,今天给大家分享下怎么样自己搭建一个DNF。 前阵子体验了下其他GM搭建的服,那么对于自己搭建的好处在于出道即巅峰! 想要什么武器就是一串代码命令的事情。 下面我跟大家说一下需要准备那些东西&#x…