Python:循环内矩阵每个元素的绝对值
Posted
技术标签:
【中文标题】Python:循环内矩阵每个元素的绝对值【英文标题】:Python:absolute value of each element of a matrix inside a loop 【发布时间】:2021-01-15 12:30:43 【问题描述】:在 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] )
如果可能的话,我想避免更多的循环让每个元素都为正。
谢谢!
【问题讨论】:
欢迎来到 ***!请花时间阅读这篇关于如何How do I ask a good question? 以及如何提供minimal, Complete, and Verifiable example 的帖子并相应地修改您的问题 【参考方案1】:假设这些是 numpy 数组,下面应该可以很好地工作:
A[:, i,j] = np.abs(B[:, i, j]- C[:,i, j])
确实,您甚至可以跳过 i、j 循环,而且非常正确:
A = np.abs(B-C)
以更 Python 和更快的方式获得相同的结果。
【讨论】:
【参考方案2】:内置的abs
函数接受一个标量值。可以使用numpy的函数
import numpy as np
result = np.abs(...)
【讨论】:
以上是关于Python:循环内矩阵每个元素的绝对值的主要内容,如果未能解决你的问题,请参考以下文章