Python中用NumPy创建自己的通用函数
source link: https://www.jdon.com/72443.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Python中用NumPy创建自己的通用函数
NumPy 是 Numerical Python 的缩写,是用于临床计算的 Python 环境中的基础库。它为运行大型多维数组和矩阵提供帮助,并提供广泛的数学功能以成功地对这些数组进行操作。
NumPy 的关键功能之一是它能够创建通用函数 (ufunc),它可以帮助您详细遵循 NumPy 数组的自定义操作。
这里,我们将探索如何使用 Python 在 NumPy 中创建您自己的通用特征。
什么是通用函数 (ufunc)?
在 NumPy 中,通用函数(ufunc)是一种对 NumPy 数组进行元素敏感操作的功能,这意味着它独立地对数组的每个元素执行操作。 Ufunc 旨在成功地使用大型数组进行绘制,并且是 NumPy 中许多操作的基本构建块。
NumPy 中的常见 ufunc 由加法、减法、乘法、除法、三角函数等数学函数组成。例如,如果您需要详细添加两个 NumPy 数组,则可以使用numpy.add() ufunc,它是一个内置 ufunc。
为什么使用ufunc?
Ufunc 用于在 NumPy 中强制执行向量化,这比迭代因子更快。
他们还提供广播和其他策略,如减少、聚集等。这可能对计算非常有帮助。
Ufunc 还接受其他参数,例如:
- 布尔数组或条件中的位置定义了操作必须占用的区域。
- dtype定义因子的返回类型。
- 输出数组,其中需要复制返回成本。
创建您自己的 Ufunc
在 NumPy 中创建自己的 ufunc 可以让您概述自定义操作,并有效地观察它们对 NumPy 数组敏感的细节。以下是开发您自己的 ufunc 的分步指南:
第 1 步:导入 NumPy
首先,您需要导入 NumPy 库。如果您尚未安装 NumPy,则可以使用 pip 来完成此操作:
pip install numpy
import numpy as np
第 2 步:定义您的自定义函数
创建一个 Python 函数,定义您需要详细应用于 NumPy 数组的自定义操作。这一功能应该采用一个或多个标量参数并返回操作的最终结果。例如,允许创建一个简单的自定义 ufunc,对数组的每个元素进行平方:
def square_function(x): |
步骤 3:使用 numpy.Frompyfunc() 创建 Ufunc
要将您的自定义特征直接转换为 ufunc,您可以使用numpy.frompyfunc()功能。此特性接受参数:自定义 Python 函数及其所需的各种输入参数。在我们的实例中,square_function采用一个输入参数,因此我们将其作为第二个参数传递给numpy.frompyfunc():
square_ufunc = np.frompyfunc(square_function, 1 , 1 )
square_ufunc对象已转换为 ufunc,现在可以在 NumPy 数组上使用。
第 4 步:使用您的自定义 Ufunc
现在您已经创建了自定义 ufunc,您可以使用它在 NumPy 数组上运行,就像使用集成 ufunc 一样。这是使用 square_ufunc 的方法的一个实例:
arr = np.array([8, 4, 2 ,1, 3]) |
import numpy as np |
输出:
[64 16 4 1 9]
import numpy as np |
[8 6 10 3 ]
自定义 Ufunc 的优点
在 NumPy 中创建自定义 ufunc 有几个好处:
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK