首页 > 解决方案 > 遍历python中的行

问题描述

我有一个(68x2)名为的矩阵,我试图通过将第 0 列和第 1 列放置在数组中shape来遍历所有 68 行。然后将其乘以变换矩阵。然后我的意图是创建一个数组(这就是我使用 的原因),但实际上我得到的只是 68 个奇异的二维矩阵,我不知道为什么。shapeB(3x3)Anp.append

这是我的代码:

import numpy as np

for row in shape:
    B = np.array([[row[0]],[row[1]],[1]])
    result = np.matmul(A,B)
    result = np.append(result[0], result[1], axis = 0)
    print(result) 

任何人都知道我可以如何解决我的问题?

标签: pythonarraysnumpy

解决方案


您可以将新列连接到shape数组上,然后使用单个矩阵乘法一次将所有行乘以变换矩阵。

result = (np.concatenate((shape, np.ones((68, 1))), axis=1) @ A)[:,:2]

您可能需要乘以变换矩阵的转置A.T,而不是单独乘以A


推荐阅读