Python:提取矩阵的上三角部分并将其放回原处
Posted
技术标签:
【中文标题】Python:提取矩阵的上三角部分并将其放回原处【英文标题】:Python: extract upper triangular part of a matrix and put it back 【发布时间】:2021-06-23 12:57:00 【问题描述】:我有一个 n 行 n 列的方阵 A。
我提取了矩阵的上三角部分:
Arr = A[np.triu_indices(n, k = 1)]
我已经对数组 Arr 进行了一些操作,现在我想从这个数组重建一个 nxn 矩阵,将每个元素放在它所属的原始位置,并将矩阵的所有其他元素设置为零。
我该怎么做?
【问题讨论】:
【参考方案1】:所以Arr
是上三角部分,你修改它,然后把它放在一个新的矩阵中,上面部分是零,其余部分为零?
试试这个:
upper_indices = np.triu_indices(n, k = 1)
Arr = A[upper_indices]
# Do stuff with Arr
result = np.zeros((n, n))
result[upper_indices] = modified_Arr
【讨论】:
以上是关于Python:提取矩阵的上三角部分并将其放回原处的主要内容,如果未能解决你的问题,请参考以下文章
python 从发电机获取第一个项目,但将其放回原来使原始发电机完好无损。
std::accumulate() 仅是复数 std::vector 的实部