如果我有一个要矢量化的 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]])
?