【Pandas驯化-16】一文搞懂Pandas中高性能query、eval函数技巧

news2024/11/16 13:53:40

【Pandas驯化-16】一文搞懂Pandas中高性能query、eval函数技巧
 
本次修炼方法请往下查看
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 相关内容文档获取 微信公众号
🎇 相关内容视频讲解 B站

🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

  • 🎯 1. 基本介绍
  • 💡 2. 使用方法
      • 2.1 pd.query函数使用
      • 2.2 pd.eval函数使用
  • 🔍 3. 注意事项
  • 🔧 4. 总结

下滑查看解决方法

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🎯 1. 基本介绍

  pandas进行列的查询,经常会常使用df[条件]的方式,但是这种写法的性能不是很高, pandas基于Numexpr实现了两个高性能的函数,用于数据查询过滤query()和数据列值修改与增加新列eval(),这两个函数通过传入列名str的方式进行操作::
  Pandas 提供了 query 和 eval 函数,这两个函数在处理数据时非常有用。query 函数允许你用字符串表达式来筛选数据,而 eval 函数可以计算字符串表达式的值。这两个函数可以大大简化数据处理的代码。

💡 2. 使用方法

2.1 pd.query函数使用

  query()函数是Pandas中用于根据条件筛选数据的函数。它可以基于一定的表达式筛选出符合条件的数据行。

  • 函数语法如下,参数说明:
  • expr:表示条件的字符串表达式。
  • inplace:是否对原始DataFrame进行就地修改,默认为False,即返回一个新的DataFrame。
import pandas as pd

# 创建示例数据
data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# 根据条件筛选数据
filtered_df = df.query('A > 2 and B < 9')
print(filtered_df)

A  B
2  3  8

2.2 pd.eval函数使用

  eval()函数是Pandas中用于执行一些计算或表达式的函数。它可以基于字符串表达式进行快速的计算和转换。函数语法如下:

  • 参数说明:
  • expr:表示计算或表达式的字符串。
  • inplace:是否对原始DataFrame进行就地修改,默认为False,即返回一个新的DataFrame。
import pandas as pd

# 创建示例数据
data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)

# 使用eval()函数计算新列
df.eval('C = A + B', inplace=True)
print(df)

A   B   C
0  1   6   7
1  2   7   9
2  3   8  11
3  4   9  13
4  5  10  15

🔍 3. 注意事项

  对上述的各个函数在使用的过程中需要注意的一些事项,不然可能会出现error,具体主要为:

  • query 函数使用的条件字符串应当是有效的 Python 表达式,并且可以包含Pandas的向量化函数。
  • eval 函数可以执行更复杂的表达式,但需要小心使用,因为它会执行字符串中的代码,可能会引起安全问题。
  • 在使用 eval 时,如果表达式中包含的列有 NaN 值,结果可能也会包含 NaN。
  • 从性能角度来看,query 方法通常比使用 eval 更快,特别是在处理大型数据集时。

🔧 4. 总结

  本文介绍了 Pandas 中的 query 和 eval 函数的使用方法。query 函数允许你通过字符串表达式来筛选数据,而 eval 函数可以执行字符串表达式并返回计算结果。通过实际的代码示例和输出结果,我们可以看到这些函数如何简化数据处理过程。希望这篇博客能够帮助你更好地理解并应用这些功能。

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

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

相关文章

AIGC Browser正式发布

什么是AIGC Browser AIGC Browser是一个超级桌面软件运行时助手&#xff0c;其使命是为每一个桌面应用软件在运行时提供一个“Built-in Web Browser”&#xff0c;使得桌面软件之中的“原生窗口对象”成为一类“超级div”元素&#xff0c;进而桌面应用成为一款“超级Web浏览器…

玩转Linux dd命令:备份与恢复指南

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 玩转Linux dd命令&#xff1a;备份与恢复指南 前言简介基本语法常用选项 示例3. 高级用法 性能优…

微深节能 料场堆取料无人操作系统 格雷母线

格雷母线高精度位移检测系统在料场堆取料中的应用是一个重要的技术进步&#xff0c;它极大地提升了堆取料作业的自动化和精确性。 一、格雷母线定位系统概述 格雷母线高精度位移测量系统&#xff0c;包括格雷母线、天线箱、地址解码器、地址编码器四个部分组成。 格雷母线类似一…

圈子系统搭建教程,以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP小程序H5

圈子是一款社区与群组的交友工具。你可以在软件内创造一个兴趣的群组从而达到按圈子来交友的效果用户可以根据自己的兴趣爱好。 1. 创建圈子 轻松创建专属圈子&#xff0c;支持付费型社群。 2. 加入圈子 加入不同圈子&#xff0c;设置不同名片&#xff0c;保护隐私。 3. 定…

权威VS实战:如何权衡六西格玛培训证书的两种价值?

当我们谈论六西格玛培训证书时&#xff0c;我们不得不提到两种截然不同的“身份象征”。一种是由专业培训机构颁发的证书&#xff0c;这种证书在质量管理领域同样具有不可忽视的价值。 培训机构颁发的六西格玛证书&#xff0c;不仅代表着你已经完成了他们精心设计的培训课程&a…

分布式事务之Seata框架

文章目录 一、分布式事务1.什么是分布式事务2.分布式事务的思想 二、Seata框架1.认识Seata2.事务管理三个重要角色3.事务模式4.二阶段提交5.XA模式6.AT模式7.AT模式与XA模式的区别8. TCC 模式9.Saga 模式 一、分布式事务 1.什么是分布式事务 传统的单体项目被拆分成多个微服务…

七牛云 Miku 快直播,陪你一起看球!

足球&#xff0c;作为全球最受欢迎的运动之一&#xff0c;每一次大赛都是球迷心中的狂欢&#xff0c;每一场比赛都记录着足球历史的精彩。 2000 年&#xff0c;特雷泽盖的金球&#xff0c;照亮了法兰西的足球梦想。 2004 年&#xff0c;查理斯特亚斯的头槌破门&#xff0c;成就…

数字化营销师:企业数字化转型中的关键力量

在当今数字化浪潮席卷全球的时代&#xff0c;企业面临着又新又难的挑战与机遇。数字化转型已成为企业提升竞争力、实现可持续发展的必然选择。而在这一过程中&#xff0c;数字化营销师正以其独特的专业技能和创新思维&#xff0c;发挥着不可或缺的重要作用。蚓链数字化营销系统…

C#——里氏转换详情

里氏转换 里氏转换就是派生类的对象赋值给父类对象&#xff0c;反之则不行 实例 : 先创键一个类然后继承 调用

方案论证项目分析

文章目录 1. 介绍2. 分析2.1. 场景加载2.2. 地形平压2.3. 模型放置2.4. 绘制区域2.5. 查看方案2.6. 数据库的字段2.7. 接口 3. 难点3.1. 调整模型的位置3.2. 旋转 1. 介绍 这是一个涉及Cesium.js&#xff08;一个用于Web的3D地球和地图的JavaScript库&#xff09;和前后端交互…

Reqable抓包工具

今天给大家最近一个好用的Api抓包工具&#xff0c;最重要的是它还是中文版本的 电脑 手机 都可以抓 这是官网地址&#xff1a;https://reqable.com/zh-CN/docs/getting-started/ 进入后我们点击【下载】根据自己电脑需求选择对应版本&#xff0c;我的是window10&#xff0c;选…

LLC开关电源开发:如何使用信号发生器与示波器设计环路

如何使用信号发生器与示波器设计环路 一、主回路二、小信号注入三、LLC 数字环路计算书一、主回路 如下图所示为系统整体架构,包括 LLC 主功率线路,采集线路、RC 滤波线路,DSP 运算。DSP 通过采集由差分运放转化而来的输出电压量(一阶 RC 滤除线路杂波),经数字环路产生特…

中国智能驾驶功能体验及技术方案研究报告

◼ 随着高速NOA功能的落地&#xff0c;用户对于高阶智能驾驶功能的认知被打开。2023年&#xff0c;车企在不断优化高速NOA功能体验的同时&#xff0c;也正在争先推动城市NOA功能的落地。掌握并实现全场景辅助驾驶的技术实力&#xff0c;能够帮助车企在未来的市场竞争中占据主动…

表单prop必填验证根据el-radio-group的值来动态绑定

1、radio的值为5时输入框是必填&#xff0c;其余时候是非必填 2、看图 3、代码 data() {return {optForm:{type:,remark:,},rules:{type:[{ required: true,trigger: change,message:该项为必填项}],remark:[]}};},watch: {"optForm.type"(newVal, oldVal) {this.$…

【scrapy】1.scrapy爬虫入门

一、scrapy爬虫框架 Scrapy 框架是一个基于Twisted的一个异步处理爬虫框架&#xff0c;应用范围非常的广泛&#xff0c;常用于数据采集、网络监测&#xff0c;以及自动化测试等。 scrapy框架包括5个主要的组件&#xff1a; Scheduler&#xff1a;事件调度器&#xff0c;它负…

Unix-privesc-check一键检查 Unix 系统(KALI工具系列三十一)

目录 1、KALI LINUX 简介 2、Unix-privesc-check简介 3、使用对象 4、操作实例 4.1 快速扫描 4.2 检测特定列表 4.3 详细模式 4.4 扫描结果解读 5、总结 1、KALI LINUX 简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版 &#xff0c;广泛用于网络安全社区。它…

小白篇--如何在本地搭建 go环境

前言 Go语言的优势主要体现在其简洁、高效、并发性能、跨平台支持、强大的社区支持以及在云计算和多核CPU时代的高效算子处理能力。 简洁&#xff1a;Go语言的设计哲学是“少即是多”&#xff0c;其遵循简单和清晰的原则&#xff0c;使得代码简洁明了&#xff0c;易于理解和维…

GPT-5智能新纪元的曙光

在美国达特茅斯工程学院周四公布的采访中&#xff0c;OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布&#xff0c;给出了肯定答案并表示将在一年半后发布。穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述为高中生到博士生的成长。 这一爆炸性的消息&#xff0c;震动了整体…

木材容易发霉怎么办除霉处理方法

木材存放不当就容易出现发霉情况&#xff0c;那么可通过那些方法将木材表面的霉斑除掉呢&#xff1f;经ihaoer防霉人士介绍处理木材发霉处理方法如下&#xff1a; 木材发霉的原因主要包括木材本身的营养物质、环境湿度、温度以及空气流动性等因素。木材中含有蛋白质、淀粉、油类…

SpringBoot优点达项目实战:项目基本配置(二)

SpringBoot优点达项目实战&#xff1a;项目基本配置&#xff08;二&#xff09; 文章目录 SpringBoot优点达项目实战&#xff1a;项目基本配置&#xff08;二&#xff09;1、项目初始化配置2、MyBatisPlus配置3、Knife配置4、定义统一返回数据结构 1、项目初始化配置 创建appli…