【发布时间】:2011-09-16 13:42:46
【问题描述】:
[编辑:我有点刷这个例子,所以我没有很好地清理我的代码。我的问题更多的是,如何将子数组传递给 numpy.vectorize-d 函数,而不是专门针对此示例。]
我不知道如何使用 numpy.vectorize 或 numpy.frompyfunc 对将数组作为参数的命令进行矢量化。
让我们想想这个简单的例子(我知道这是一个非常基本的例子,我根本不需要使用 numpy.vectorize。我只是要求一个例子):
aa = [[1,2,3,4], [2,3,4,5], [5,6,7,8], [9,10,11,12]]
bb = [[100,200,300,400], [100,200,300,400], [100,200,300,400], [100,200,300,400]]
我想对一个函数进行向量化,该函数将 aa 和 bb 的每个子数组的第二个元素相加。在这个例子中,我想返回一个数组 [202 203 206 210]
但是这样的代码不起作用:
def vec2(bsub, asub):
return bsub[1] + asub[1]
func2 = np.vectorize(vec2)
func2( bb, aa )
与 numpy.frompyfunc 类似的事情没有运气。
我的问题是,如何将子数组列表传递到 numpy.vectorize-d 函数中,并让每个子数组成为函数的参数?
【问题讨论】:
标签: python numpy vectorization