【发布时间】:2022-01-04 05:54:13
【问题描述】:
如何进行矩阵运算,使其产生如下结果:
图像中显示的第一个矩阵是错误的输出,第二个矩阵(下图)是预期的输出
我发现可以使用 np.ix_ 完成,但我无法应用它。
谢谢。
【问题讨论】:
标签: python arrays numpy matrix indexing
如何进行矩阵运算,使其产生如下结果:
图像中显示的第一个矩阵是错误的输出,第二个矩阵(下图)是预期的输出
我发现可以使用 np.ix_ 完成,但我无法应用它。
谢谢。
【问题讨论】:
标签: python arrays numpy matrix indexing
使用np.ix_ 有什么令人费解的地方?
In [529]: res = np.zeros((10,10),int)
In [530]: res[np.ix_([1,7],[1,9])]=[[1,1],[1,-1]]
In [531]: res
Out[531]:
array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 1, 0, 0, 0, 0, 0, 0, 0, -1],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
可以使用相同的索引来选择非零值:
In [532]: res[np.ix_([1,7],[1,9])]
Out[532]:
array([[ 1, 1],
[ 1, -1]])
好的,我要插入一个 (2,2) 数组,因为这些是明显的非零值。对于其他任何情况,只需调整提供给ix_ 的两个列表/数组。
【讨论】: