[英]Iterating through rows in python
我有一個名為shape
的(68x2)
矩陣,我試圖通過將shape
的第 0 列和第 1 列放在數組B
中來遍歷所有 68 行。 然后將其乘以(3x3)
變換矩陣A
。 然后我的意圖是創建一個數組(這就是我使用np.append
的原因)但實際上我得到的只是 68 個奇異的二維矩陣,我不知道為什么。
這是我的代碼:
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)
任何人都知道我可以如何解決我的問題?
您可以將一個新列連接到您的shape
數組上,然后使用單個矩陣乘法一次將所有行乘以變換矩陣。
result = (np.concatenate((shape, np.ones((68, 1))), axis=1) @ A)[:,:2]
您可能需要乘以變換矩陣AT
的轉置,而不是乘以A
本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.