如何在 numpy 中为 3D 数组添加新的列、行和形状?
How to add a new column, row and shape for a 3D array in numpy?
a = np.zeros((2,2,2,3),int)
的输出是
[[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]
[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]]
我有一个列表 Y = [a,b],我想添加新的行、列和形状,这样新的形状将是 (2,3,3,4)
输出将是这样的:
[[[[0 0 0 a]
[0 0 0 a]
[a a a a]]
[[0 0 0 a]
[0 0 0 a]
[a a a a]]
[[a a a a]
[a a a a]
[a a a a]]]
[[[0 0 0 b]
[0 0 0 b]
[b b b b]
[[0 0 0 b]
[0 0 0 b]
[b b b b]
[[b b b b]
[b b b b]
[b b b b]]]
我已经尝试解决了将近2天,但我没有成功。
创建起始数组和目标:
In [14]: a = np.ones((2,2,2,3),int)
In [15]: Y = np.zeros((2,3,3,4),int)
填充背景:
In [21]: Y[0,:,:,:]=2
In [22]: Y[1,:,:,:]=3
然后是 a
:
In [23]: Y[:,:2,:2,:3]=a
结果:
In [24]: Y
Out[24]:
array([[[[1, 1, 1, 2],
[1, 1, 1, 2],
[2, 2, 2, 2]],
[[1, 1, 1, 2],
[1, 1, 1, 2],
[2, 2, 2, 2]],
[[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]]],
[[[1, 1, 1, 3],
[1, 1, 1, 3],
[3, 3, 3, 3]],
[[1, 1, 1, 3],
[1, 1, 1, 3],
[3, 3, 3, 3]],
[[3, 3, 3, 3],
[3, 3, 3, 3],
[3, 3, 3, 3]]]])
a = np.zeros((2,2,2,3),int)
的输出是
[[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]
[[[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]]]]
我有一个列表 Y = [a,b],我想添加新的行、列和形状,这样新的形状将是 (2,3,3,4)
输出将是这样的:
[[[[0 0 0 a]
[0 0 0 a]
[a a a a]]
[[0 0 0 a]
[0 0 0 a]
[a a a a]]
[[a a a a]
[a a a a]
[a a a a]]]
[[[0 0 0 b]
[0 0 0 b]
[b b b b]
[[0 0 0 b]
[0 0 0 b]
[b b b b]
[[b b b b]
[b b b b]
[b b b b]]]
我已经尝试解决了将近2天,但我没有成功。
创建起始数组和目标:
In [14]: a = np.ones((2,2,2,3),int)
In [15]: Y = np.zeros((2,3,3,4),int)
填充背景:
In [21]: Y[0,:,:,:]=2
In [22]: Y[1,:,:,:]=3
然后是 a
:
In [23]: Y[:,:2,:2,:3]=a
结果:
In [24]: Y
Out[24]:
array([[[[1, 1, 1, 2],
[1, 1, 1, 2],
[2, 2, 2, 2]],
[[1, 1, 1, 2],
[1, 1, 1, 2],
[2, 2, 2, 2]],
[[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]]],
[[[1, 1, 1, 3],
[1, 1, 1, 3],
[3, 3, 3, 3]],
[[1, 1, 1, 3],
[1, 1, 1, 3],
[3, 3, 3, 3]],
[[3, 3, 3, 3],
[3, 3, 3, 3],
[3, 3, 3, 3]]]])