首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在NumPy阵列的每个单元处有效地评估函数

在NumPy阵列的每个单元处有效地评估函数,可以使用NumPy的广播功能来实现。广播功能允许你在不同形状的阵列之间执行数学运算,而无需显式地重复数据。这在处理大型阵列时非常有用,因为它可以避免不必要的内存使用和计算时间。

以下是一个使用NumPy广播功能在阵列中评估函数的示例:

代码语言:python
代码运行次数:0
复制
import numpy as np

# 定义一个函数,该函数将在阵列中的每个单元格上调用
def my_function(x):
    return x ** 2

# 创建一个示例阵列
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 使用NumPy的vectorize函数将函数应用于阵列中的每个单元格
vfunc = np.vectorize(my_function)
result = vfunc(arr)

print(result)

输出:

代码语言:txt
复制
[[ 1  4  9]
 [16 25 36]
 [49 64 81]]

在这个例子中,我们定义了一个简单的函数my_function,它将输入的数字平方。然后,我们使用NumPy的vectorize函数将这个函数应用于阵列中的每个单元格。最后,我们打印出结果阵列。

请注意,vectorize函数仅适用于一维输入。如果你需要在多维阵列上使用它,你可能需要使用np.nditernp.vectorize函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券