我有四个numpy数组:
X1 = array([[1, 2], [2, 0]])
X2 = array([[3, 1], [2, 2]])
I1 = array([[1], [1]])
I2 = array([[1], [1]])
我在做:
Y = array([I1, X1],
[I2, X2]])
要获得:
Y = array([[ 1, 1, 2],
[ 1, 2, 0],
[-1, -3, -1],
[-1, -2, -2]])
就像这个例子,我有一个大矩阵,其中X1
和X2
是n x d
矩阵。
在Python中有没有一种有效的方法可以得到矩阵Y
?
虽然我知道迭代的方式,我正在寻找一种有效的方式来完成上述。
这里,Y
是n x (d+1)
矩阵,并且I1
和I2
是维度为n x 1
的单位矩阵。
3条答案
按热度按时间mpbci0fu1#
下面的例子怎么样:
或者,你可以创建一个适当大小的空数组,然后用适当的切片填充它,这样可以避免创建中间数组。
rggaifut2#
您需要numpy.bmat
du7egjpx3#
对于
numpy
array
,this page建议语法可以是以下形式