python - 遍历python中的行
问题描述
我有一个(68x2)
名为的矩阵,我试图通过将第 0 列和第 1 列放置在数组中shape
来遍历所有 68 行。然后将其乘以变换矩阵。然后我的意图是创建一个数组(这就是我使用 的原因),但实际上我得到的只是 68 个奇异的二维矩阵,我不知道为什么。shape
B
(3x3)
A
np.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)
任何人都知道我可以如何解决我的问题?
解决方案
您可以将新列连接到shape
数组上,然后使用单个矩阵乘法一次将所有行乘以变换矩阵。
result = (np.concatenate((shape, np.ones((68, 1))), axis=1) @ A)[:,:2]
您可能需要乘以变换矩阵的转置A.T
,而不是单独乘以A
。
推荐阅读
- asp.net-mvc - 关于如何使用 asp.net 和 MVC 创建动态 Web 应用程序的建议
- amazon-web-services - DynamoDB 是否可以防止对同一文档的并行操作
- ms-access - 立即更新同一记录后无法编辑记录
- reactjs - 在反应 onchek 中获取复选框值
- android - 如何使用变量作为android意图的第二个参数?
- reactjs - React-Native 检查图片 url
- python - 分配切片有什么意义?
- javascript - 如何在ember js和制表符中更新div元素属性值
- javascript - React:在元素数组中进一步重新渲染元素后,转换被切断
- firebase - Cloud Functions 将数据添加到 Firestore 时出现权限错误