我正在尝试解决一个“非常简单”的问题。在 Python 中不是那么简单。给定一个大矩阵 A 和另一个较小的矩阵 BI 想用 B 替换 A 的某些元素。在 Matlab 中是这样的:
Given A, row_coord = [1,5,6] col_coord = [2,4], and a matrix B of size(3X2), A[row_coord, col_coord] = B
在 Python 中,我尝试使用product(row_coord, col_coord)
fromitertools
来生成需要在 A 中访问的所有索引集,但它不起作用。所有关于子矩阵替换的示例都参考了逐块 row_coord = col_coord 示例。除了http://comments.gmane.org/gmane.comp.python.numeric.general/11912之外,没有什么具体的东西似乎与我面临的问题有关,并且链接中的代码不起作用。
注意:我知道我可以通过双 for 循环实现我需要的东西,但是在我的数据上,这样的循环增加了一次迭代的运行时间 9 秒,我正在寻找一种更快的方法来实现它。
任何帮助将不胜感激。