将每一行替换为一列

时间:2018-06-24 03:27:50

标签: python numpy numpy-ndarray

给出形状为X的数组(n, m)和另一个给定的数字l,我如何得到形状为Y的数组(n, l, m, l),其中{{1} }是已由X的第Y[i, j, :, :]行替换为第j列的空矩阵。

例如,如果

i

然后

X = np.array([
    [1, 2, 3, 4],
    [2, 3, 4, 5],
    [3, 4, 5, 6]])
l = 5

谢谢。

1 个答案:

答案 0 :(得分:1)

使用np.einsum

Y = np.zeros((n, l, m, l))
np.einsum('ijkj->jik', Y)[...] = X