如果我有一个要矢量化的 1Dnumpy.ndarray b和一个 Python function f,则使用该numpy.vectorize函数非常容易:
c = numpy.vectorize(f)(a).
但是如果f返回一维numpy.ndarray而不是标量,我该如何构建二维numpy.ndarray呢?(也就是说,我希望numpy.ndarray从返回的每个 1Df成为新 2D 中的一行numpy.ndarray。)
例子:
def f(x):
return x * x
a = numpy.array([1,2,3])
c = numpy.vectorize(f)(a)
def f_1d(x):
return numpy.array([x, x])
a = numpy.ndarray([1,2,3])
d = ???(f_1d)(a)
在上面的例子c中会变成array([1, 4, 9]). 什么应该???替换为 ifd应该成为array([[1, 1], [2, 2], [3, 3]])?