如何高效地将函数应用于 NumPy 数组?
Numpy 数组的向量化函数
要在 numpy 数组上有效地映射函数,您可以利用向量化的强大功能,它允许您对数组按元素执行操作。这比使用基于循环的方法(如列表推导式)要快得多。
NumPy 本机函数
如果您要映射的函数已经矢量化为 NumPy 函数,例如 np.square() 用于对元素进行平方,强烈建议使用它。它将比其他方法快得多。
使用 NumPy 的向量化进行向量化
NumPy 提供了向量化函数的向量化函数。它包装您的函数以在数组上启用按元素操作:
import numpy as np def f(x): return x ** 2 vf = np.vectorize(f) x = np.array([1, 2, 3, 4, 5]) squares = vf(x)
另一种选择是在不初始化函数包装器的情况下使用向量化:
squares = np.vectorize(f)(x)
其他向量化方法
其他矢量化方法include:
- np.fromiter():迭代生成器并构造一个数组。
- np.array(list(map(f, x))):使用地图function 对每个元素应用函数,然后转换为数组。
性能注意事项
虽然所有这些方法都可以向量化函数,但它们的性能可能会有所不同。基准测试表明,如果可用,使用 NumPy 的本机函数是最快的。对于其他情况,向量化和 fromiter 通常比 np.array(list(map(f, x))) 表现更好。
以上是如何高效地将函数应用于 NumPy 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

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

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

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

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

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
