如何在numpy中构造基于数组的矩阵?

ar7v8xwq  于 2022-12-29  发布在  其他
关注(0)|答案(1)|浏览(110)

我正在尝试对一个数组迭代执行一个函数,然后用它返回的值组成一个矩阵,如果这是原生的python,我会这样做:

[func(x, y) for y in xrange(Y)]

但是如果我这样做了,我需要用numpy.matrix()来 Package 它,以便将其矢量化。numpy的方法是什么?现在我初始化了一个零矩阵,然后用从for循环中得到的元素填充它,但这看起来效率很低。

biswetbf

biswetbf1#

看看numpy tutorial,特别是关于通用函数或ufunc的部分。
对整个数组逐个元素进行操作的函数。
这听起来像是你所要求的。记住你可能不需要写你自己的ufunc,而只需要用现有的ufunc写func。例如:

def hypot(a, b):
    return np.sqrt(a**2 + b**2)

>>> a = np.array([3., 5., 10.])
>>> b = np.array([4., 12., 24.,])
>>> hypot(a, b)
array([  5.,  13.,  26.])

相关问题