我有一个具有多个维度的numpy数组,我想将其中一个维度复制到一个新维度。例如,如果我有
A = np.eye(2)
>>> np.eye(2)
array([[ 1., 0.],
[ 0., 1.]])
我想在下面的意义上创建一个带有附加尺寸的数组B,该尺寸与尺寸1重复。我希望每个坐标a的尺寸为0,b
B[a,b,:] = B[a,:,b]
我尝试了np.tile和np.repeat,但这些方法给了我一个数组
B[a,b,:] = array([A[a,b], A[a,b], ...])
对于上面的身份示例,我想要以下数组
array([[ 1., 0.],
[ 0., 1.]],
[[ 0., 1.],
[ 1., 0.]])
提前谢谢!
答案 0 :(得分:2)
我不完全确定你在问什么。但是,使用numpy.flipr(X)
X
numpy.array()
的{{1}}可能是您正在寻找的内容。它向左/右方向翻转阵列。请参阅下面的代码。
import numpy as np
X1 = np.array([[1,0], [0,1]])
X2 = np.fliplr(X1)
X = np.array([X1, X2])
print X
返回:
[[[1 0]
[0 1]]
[[0 1]
[1 0]]]