【发布时间】:2021-06-10 00:29:04
【问题描述】:
我需要使用 numpy 在另一个矩阵中插入一个矩阵
我需要插入的矩阵是这样的:
tetraminos = [[0, 1, 0],
[1, 1, 1]]
而另一个矩阵是这样的:
board = numpy.array([
[6,0,0,0,0,0,0,0,0,0],
[6,0,0,0,0,0,0,0,0,0]
])
我实际使用的代码:
board[0:0 + len(tetraminos), 0:0 + len(tetraminos[0])] = tetraminos
我得到的问题矩阵是这个:
wrong_matrix = numpy.array([
[[0,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]]
])
而预期的结果是:
expected_result = numpy.array([
[6,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]
])
错误是,由于矩阵包含 0,当我将其插入新矩阵时,我丢失了第一行中的第一个值(数字 6),而我想保留它
完整代码:
import numpy
if __name__ == '__main__':
board = numpy.array([
[6,0,0,0,0,0,0,0,0,0],
[6,0,0,0,0,0,0,0,0,0]
])
tetraminos = [[0, 1, 0], [1, 1, 1]]
board[0:0 + len(tetraminos), 0:0 + len(tetraminos[0])] = tetraminos
print(board)
expected_result = numpy.array([
[6,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]
])
exit(1)
【问题讨论】:
-
您应该添加您的预期输出。
-
添加了预期的输出并修改了代码:-)
-
请提供预期的minimal, reproducible example (MRE)。我们应该能够复制并粘贴您的代码的连续块,执行该文件,并重现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出来测试我们的建议。
-
我明白了,如果代码不是很清楚,我很抱歉。我将从头开始创建一个新的最小示例,然后编辑问题
-
很难看出你在 0 的海洋中做出了什么改变。
标签: python numpy matrix optimization