文章目录

    • 一、背景
    • 二、布尔索引
      • 2.1 总结
    • 三、进阶核心用法(实用高效)
      • 3.1 多条件组合
      • 3.2 字符串表达式(类似SQL)
      • 3.3 针对字符串的正则匹配
    • 四、高级方法(依赖基础)
      • 4.1 函数应用(如apply()或lambda)‌
      • 4.2 缺失值筛选
      • 4.3 loc与iloc‌
    • 五、总结

一、背景

2025年8月22日了,回头查了下第一个python万里长征的文章还是2018年11月。但是没有写几篇,坚持写这个还是挺难的,回头一想,八年多还在这个岗位上,还是有半杯欣慰的,来干了!cheers!

最近一年,数据分析做的内容比较多,但是回头看,对pandas这个东西的使用,还是有一层迷雾感的。所以写点东西,记录下心路旅程,也许未来某一天看看自己的笔记,会微笑多那么一点点,足够了。等待未来callback的一天。

二、布尔索引

今天让ai出了个几个选择题,做了几个题消耗些时间,看了个解释,发现一句话,布尔索引是标准的筛选方式。
在这里插入图片描述
深入研究了下,布尔索引过滤是pandas中通过逻辑条件筛选数据的一种方法,他属于三大基础方法之一,另两个基础是isinbetween
一个是二值化筛选,一个是多值筛选,一个是范围筛选。

2.1 总结

新手记住三基础就可以了。后面看进阶

三、进阶核心用法(实用高效)

想打个高效,总是打出来搞笑!!!(i fu le you 输入法)

也是分三类记下吧,都是为了更好的回忆。

3.1 多条件组合

通过&、|、~组合条件,需注意括号使用,例如:df[(df[‘A’] > 10) & (df[‘B’] == ‘X’)]

3.2 字符串表达式(类似SQL)

query()方法,支持字符串表达式

例如:df.query(“A > 10 and B == ‘X’”)。适合复杂条件场景‌,这个严格来说也是多条件组合,只不过是sql化的用法。

3.3 针对字符串的正则匹配

str.contains()‌
针对字符串列的正则匹配,例如:df[df[‘CVE ID’].str.contains(‘CVE-’)]

四、高级方法(依赖基础)

4.1 函数应用(如apply()或lambda)‌

自定义复杂逻辑,例如:df[df.apply(lambda x: x[‘A’] + x[‘B’] > 100, axis=1)]

遇事不决可问春风 春风不语即随本心!!!

4.2 缺失值筛选

使用isna()或notna(),例如:df[df[‘列名’].notna()]

4.3 loc与iloc‌

loc:基于标签和布尔索引筛选行或列,例如:df.loc[df[‘A’] > 10, [‘B’, ‘C’]]‌

输入格式:loc[] 的通用语法是 df.loc[行选择, 列选择]。若省略列部分(如本例),则返回所有列。

iloc:基于整数位置筛选(较少用于逻辑条件),输入格式类似loc

这里loc和iloc容易混淆,所以还是看下区别:

特性lociloc
索引类型标签(显式)整数位置(隐式)
切片包含性包含结束标签!!!不包含结束位置!!!(Python 风格)
示例df.loc[‘a’:‘c’]df.iloc[0:2]

如需按位置选择数据,应使用 iloc。

五、总结

pandas的筛选数据肯定是不止这些方法,但是要更好的记忆,必须是有量化层次做基础的,三基础、三核心、三高级并不是绝对的,看适合个人的记忆,别让大脑处于混乱朦胧的状态即可,真正的进阶需要用。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云上部署nuxt开发的项目(SSG和SSR混合渲染)

1.项目说明及配置 // nuxt.config.ts export default defineNuxtConfig({// ... 其他配置// Nitro 引擎让你可以非常精细地为每个页面定义渲染策略nitro: {// 预设取决于你的部署平台,例如 vercel, netlify, static 等,或者node-serverpreset: vercel, // 这里以 Vercel 为例…

RWA加密金融高峰论坛星链品牌全球发布 —— 稳定币与Web3的香港新篇章

随着全球数字金融不断演进,稳定币(Stablecoin)与真实世界资产(RWA)已成为连接传统金融与Web3世界的核心通道。行业投研报告预计,RWA市场规模将在未来五年突破10万亿美元,而稳定币正加速进入跨境…

玩转Vue3高级特性:Teleport、Suspense与自定义渲染

玩转Vue3高级特性:Teleport、Suspense与自定义渲染 掌握Vue3革命性渲染特性,构建更灵活强大的前端应用 一、高级渲染特性全景概览 Vue3引入了三大革命性渲染特性,彻底改变了开发体验: 特性 解决的问题 典型应用场景 Teleport DOM结…

Qt/C++开发监控GB28181系统/录像文件回放/自动播放下一个录像文件/倍速回放/录像文件下载

一、前言说明 之前录像文件的回放功能已经是好的,后面用户提出来一个新的合理的需求,那就是播放完上一个录像文件,希望自动播放下一个文件,之前是播放完成后就关闭了,需要手动双击录像文件才会再次播放,这…

Kali Linux 发布重构版Vagrant镜像:通过命令行快速部署预配置DebOS虚拟机

Kali Linux团队宣布对其Vagrant镜像构建流程进行重大升级,通过改用DebOS系统替代原有的HashiCorp Packer工具,显著简化了预配置虚拟机的开发与部署流程。此次更新还附带实用速查表,帮助安全从业者快速上手。技术架构革新Vagrant box是可通过命…

关于链式二叉树的几道OJ题目

今天笔者带领读者做几道链式二叉树OJ题目,希望读者和笔者一起思考! 1.965. 单值二叉树 - 力扣(LeetCode) 这道题思路不难想,首先知道单值二叉树的定义:所有结点的值都相同,传入的是第一个根节…

【ECharts】2. ECharts 性能优化

动态(按需)加载异步子组件 之前说过 ECharts 如何封装,今天来讲一讲 ECharts 如何做性能优化。 对于之前 ECharts 的封装子组件,我们可以使用 component 动态组件的方式进行渲染,并传参。 并且使用 import 动态导入搭配 defineAsyncCompon…

如何创建自己的 Minecraft 世界

步骤1:准备虚拟服务器运行以下命令来更新系统的软件包列表并应用所有待处理的升级:sudo apt update sudo apt upgrade -y您的系统已更新完毕,您已准备好进行下一步。第 2 步:安装依赖项并创建安全用户LinuxGSM 需要一些软件才能正…

vue中监听页面滚动位置

vue中监听页面滚动位置问题描述实现代码1. 获取页面被卷起的高度2. 监听滚动事件问题描述 页面滚动到指定位置时,展示侧边栏导航。 实现代码 1. 获取页面被卷起的高度 使用 e.target.scrollTop可以获取到页面向上滚动了多少像素,代码如下:…

docker:compose

docker三剑客:compose、swarm、machinemachine是在不同环境(不同的操作系统平台上安装)下部署docker的compose是做容器编排的swarm是做docker集群管理的Compose 简介口任务( task ) : 一个容器被称为一个任…

GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SQL PATCH

1 业务背景GaussDB的优化器生成计划不优的情况下,对DBA调优过程中不对业务sql修改场景下,提供3种计划管理,分别为plan hint,sql patch,spm。2 sql patch的使用场景在发现查询语句的执行计划、执行方式未达预期的场景下,可以通过创…

函数式编程从入门到精通

1.概述1.1为什么学&#xff1f;* 能够看懂公司里的代码 * 大数量下处理集合效率高 * 代码可读性高 * 消灭嵌套地狱//查询未成年作家评分在70分以上的书籍&#xff0c;由于流的影响所以作家和书籍可能会重复出现&#xff0c;所以要去重public void test1() {List<Book> bo…

Overleaf 中文报错和中文不显示问题的解决方案

Overleaf是一个很方便的在线latex编辑工具。但在最初使用Overleaf的时候&#xff0c;是不是有很多小伙伴会遇到模板中中文报错或者中文不显示的问题呢&#xff1f; 本文将带你一步步解决这个问题~ 中文报错 在点击重新编译按钮后&#xff0c;中文报错问题一般会有如下图红框显示…

前后端联调场景以及可能会遇到的问题

一、异地和在一起办公的方式 首先&#xff0c;在一起办公&#xff08;同局域网&#xff09;的情况&#xff0c;最常用的应该是直接使用后端的局域网 IP 进行联调&#xff0c;因为同一网络内设备可以直接通信。步骤方面&#xff0c;需要后端提供 IP 和端口&#xff0c;前端配置…

【T113自制板卡】1 - 原理图说明

文章目录1、前言2、板卡资源总览3、电源3.1、板卡供电3.2、电源方案4、OTG接口5、调试串口6、用户LED7、FLASH8、按键9、BLE MESH10、Wi-Fi11、MIC12、喇叭接口13、MIPI接口1、前言 这几天跟着小智学长的课程画了一块t113的板子。本文将描述该板卡的硬件说明。 2、板卡资源总…

WiFi有网络但是电脑连不上网是怎么回事?该怎么解决?

有时候&#xff0c;咱们用电脑上网&#xff0c;打开WiFi一看&#xff0c;信号满格&#xff0c;状态栏显示已连接&#xff0c;本来想着可以愉快地看个番、查个资料、玩个游戏了&#xff0c;结果一打开浏览器&#xff0c;直接完犊子了&#xff0c;网页都打不开。这时候再看状态&a…

【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源

一、关于如何下载docker images 这里需要大家自行科学上网如果没有话&#xff0c;下面可以使用我自行打包的golang 的docker images 注意科学上网要开启TUN模式二、golang镜像源 1、阿里云公开镜像 如果找不到golang包的小伙伴可以使用我的公开阿里镜像docker pull registry.cn…

Day58 Java面向对象13 instanceof 和 类型转换

Day58 Java面向对象13 instanceof 和 类型转换 1.instanceof关键字 instanceof关键字的作用是判断一个对象是否是某个类或其子类的实例,它返回一个布尔值true/false dog1 instanceof Dog; //返回true dog1 instanceof Animals; //返回true dog1 instanceof Object; //返回…

GEO优化案例:如何通过“知识图谱+权威信号”提升品牌AI信任度

引言&#xff1a; “在AI日益成为用户信息入口的今天&#xff0c;品牌信息能否被AI赋予‘权威’标签&#xff0c;直接决定了其在搜索结果中的可见度和用户采信度。移山科技正是这方面的专家。” 一、行业趋势概览&#xff1a;AI时代的品牌信任与GEO的价值 2025年&#xff0c…

让数据可视化更简单:Embedding Atlas使用指南

Embedding Atlas&#xff1a;交互式的嵌入可视化工具 在大数据时代&#xff0c;如何有效地理解和利用高维数据变得愈发重要。Embedding Atlas 是一款致力于提供大型嵌入&#xff08;embeddings&#xff09;交互式可视化的工具&#xff0c;允许用户对嵌入数据进行可视化、交叉过…