Python:循环中矩阵中每个元素的绝对值



在python中(我是新的python工作),我有一个矩阵以以下方式在循环中构建:

A[:,index_i ,index_j] = B[:,index_i ,index_j] - C[:,index_i ,index_j]

之后,在同一个循环中有一些对A的计算,但是在我需要得到A之前,每个元素都是正的,然后,写这个将工作,所以每个A[k,index_i,index_j]>=0 ?

A[:,index_i ,index_j]= abs( B[:,index_i ,index_j] - C[:,index_i ,index_j] )

如果可能的话,我希望避免更多的循环使每个元素都为正。

谢谢!

假设这些是numpy数组,下面的代码应该可以很好地工作:

A[:, i,j] = np.abs(B[:, i, j]- C[:,i, j])

实际上,你甚至可以跳过i, j循环,直接:

A = np.abs(B-C)

以更python和更快的方式获得相同的结果。

内置的abs函数接受标量值。您可以使用numpy的函数

import numpy as np
result = np.abs(...)

最新更新