Pandas apply 与 NumPy vectorize 在创建列时的性能注意事项
虽然 Pandas apply 被广泛使用,但在创建列时其性能落后于 NumPy vectorize来自现有列的新列。这种差异归因于这样一个事实:apply 函数是 Python 级别的循环,会产生大量开销。相比之下,向量化将输入函数转换为通用函数,显着提高了效率。
性能基准
比较Python级别的循环并应用raw=True,我们观察:
- 使用 zip 进行映射、列表理解和矢量化表现出相似的性能。
- 使用 raw=True 的应用比不使用 raw=True 的速度显着更快。
真正的向量化
但是,apply 和 vectorize 都被真正的向量化操作(例如 np.where)所掩盖,这些操作在 NumPy 数组上按元素执行计算。这种方法速度明显更快,无需循环。
进一步的性能注意事项
对于关键瓶颈,请考虑 numba,这是一个将 Python 函数编译为高度优化的 C 语言的工具代码。使用 numba,可以进一步加速计算。
结论
当从现有列创建新列时,NumPy 矢量化由于其原生矢量化而提供了比 Pandas apply 更优越的性能能力。为了获得最佳效率,应在适用的情况下采用真正的矢量化。
以上是在 Pandas DataFrame 中创建新列哪种方法更快:Pandas Apply 或 NumPy Vectorize?的详细内容。更多信息请关注PHP中文网其他相关文章!

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...

如何使用正则表达式匹配到第一个闭合标签就停止?在处理HTML或其他标记语言时,常常需要使用正则表达式来�...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),