【发布时间】:2014-12-17 19:54:08
【问题描述】:
我是 Numpy 的新手,想替换矩阵的一部分。比如我有两个矩阵,A,B由numpy生成
In [333]: A = ones((5,5))
In [334]: A
Out[334]:
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
In [335]: B
Out[335]:
array([[ 0.1, 0.2],
[ 0.3, 0.4]])
最终,我想让 A 成为以下矩阵。
In [336]: A
Out[336]:
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 0.1, 0.2],
[ 1., 1., 1., 0.3, 0.4]])
和/或以下
In [336]: A
Out[336]:
array([[ 1., 1., 1., 0.1, 0.2],
[ 1., 1., 1., 0.3, 0.4],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
我尝试了以下方法,但没有成功。我现在没有任何想法:(
A[[0,1],:][:,[3,4]] = B
甚至我都试过了
A[[0,1],:][:,[3,4]] = 1
检查四个单元格是否改变。你有什么想法吗?
【问题讨论】: