【发布时间】:2015-10-11 02:43:58
【问题描述】:
我有一个名为old_func 的旧函数,它接受两个位置参数x 和y 作为输入。函数的输入是这样写的,使用一个元组作为输入:
def old_func(position):
x, y = position
return x**2 + y**2
我现在想要一种通过值网格快速简便地调用函数的方法:
xx = numpy.linspace(0, 1, 100)
yy = numpy.linspace(0, 1, 100)
X, Y = numpy.meshgrid(xx, yy)
array_positions = (X,Y)
old_fun(array_positions)
意图是函数中对x 的每个操作都在所有X 上完成,y 也是如此。我尝试使用numpy.vectorize 对函数进行矢量化,但这不起作用。我不希望将函数更改为接受 NumPy 数组,因为这将花费太长时间。
【问题讨论】:
标签: python numpy vectorization apply