Arrays 如何对包含元素索引的二维Numpy数组中的元素执行算法?

Arrays 如何对包含元素索引的二维Numpy数组中的元素执行算法?,arrays,python-3.x,numpy,Arrays,Python 3.x,Numpy,上下文 我正在使用Python和Numpy实现2D离散傅里叶变换算法。 根据图像处理理论,为了使图像变换居中,在执行变换之前,图像的每个强度f(x,y)需要乘以(-1)^(x+y),其中x和y是表示图像的2D数组中的强度指数 尝试了什么 最明显的方法是使用两个for循环迭代每个强度及其索引 问题 是否有一个更优雅/更快的解决方案使用Python/Numpy矩阵运算,或者我应该坚持使用两个for循环?惯用的方法是: y,x = np.ogrid[:m,:n] prefactor = (-1)**(

上下文

我正在使用Python和Numpy实现2D离散傅里叶变换算法。 根据图像处理理论,为了使图像变换居中,在执行变换之前,图像的每个强度f(x,y)需要乘以(-1)^(x+y),其中x和y是表示图像的2D数组中的强度指数

尝试了什么

最明显的方法是使用两个for循环迭代每个强度及其索引

问题


是否有一个更优雅/更快的解决方案使用Python/Numpy矩阵运算,或者我应该坚持使用两个for循环?

惯用的方法是:

y,x = np.ogrid[:m,:n]
prefactor = (-1)**(y+x)
这里
m,n
当然是操作数数组的维数