当前位置: 首页 > news >正文

Python万里长征6(非教程)pandas筛选数据三基础、三核心、三高级

文章目录

    • 一、背景
    • 二、布尔索引
      • 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.dtcms.com/a/344014.html

相关文章:

  • Kafka 为什么具有高吞吐量的特性?
  • C# 浮点数与定点数详细解析
  • 邀请函 | 2025达索系统高峰论坛,跨界融合定义未来制造
  • SamOutVXP:革命性轻量级语言模型,突破传统推理限制
  • 不同类型代理 IP 在爬虫场景下的表现对比
  • 苹果紧急修复ImageIO零日漏洞CVE-2025-43300,已被在野利用
  • 开源AI编程工具Kilo Code的深度分析:与Cline和Roo Code的全面对比
  • QT之QSS常用颜色总结
  • 【黑客技术零基础入门】计算机网络---子网划分、子网掩码和网关(非常详细)零基础入门到精通,收藏这一篇就够了
  • 【每天一个知识点】AIOps 与自动化管理
  • 二、高可用架构(Nginx + Keepalived + MySQL 主从)
  • 集成算法(聚类)
  • Vue生命周期以及自定义钩子和路由
  • Manus AI 与多语言手写识别技术全解析
  • c++最新进展
  • linux下top命令分析内存不足vs负载过高
  • MeterSphere接口自动化多场景批量运行复制引用
  • 疯狂星期四文案网第47天运营日记
  • 云市场周报 (2025.08.22):阿里云RDS降价、腾讯云Serverless容器新品发布
  • Adobe Photoshop 2025 版本介绍与使用指南
  • AE下载安装教程(附安装包)Adobe Media Encoder超详细图文安装教程
  • Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
  • 开发避坑指南(30):Vue3 表格动态增加删除行解决方案
  • 数据库备份sql文件过大,phpAdmin无法执行Sql
  • 深入理解Spring事务传播行为:原理、应用与实践
  • Vue Teleport 原理解析与React Portal、 Fragment 组件
  • 高德地图自定义marker,点击、悬停显示信息框
  • 智能合约漏洞检测技术综述:守护区块链世界的“自动售货机”
  • syn和quote的简单使用——生成结构体
  • Java基础 8.22