From 2 Numpy vectors(length=m,n) , create crossed matrix(shape=(m, n,2))
As a reminder for MYSELF,
To create a matrix from two 1D vectors, like
v1 = np.arange(4) #[0,1,2,3]
v2 = np.arange(4) *10 #[0,10,20,30]
to create crossed matrix
I do
[[[0,0],[0,10],[0,20],[0,30]],
[[1,0],[1,10],[1,20],[1,30]],
[[2,0],[2,10],[2,20],[2,30]],
[[3,0],[3,10],[3,20],[3,30]]]
Is there any better way to do it? Any suggestion will be appreciated.
crossed = np.dstack(( np.zeros((len(v1),len(v2)), dtype=v1.dtype) + v1[...,np.newaxis],
np.zeros((len(v1),len(v2)),dtype=v2.dtype) + v2))
Comments