我在打印numpy 3D矩阵中的列时遇到了问题。以下是问题的简化版本:
import numpy as np
Matrix = np.zeros(((10,9,3))) # Creates a 10 x 9 x 3 3D matrix
Matrix[2][2][6] = 578
# I want to print Matrix[2][x][6] for x in range(9)
# the purpose of this is that I want to get all the Values in Matrix[2][x][6]如果你们能帮我的话我很感激。提前谢谢。
发布于 2016-05-08 07:45:30
不确定Numpy是否支持这种方法,但是您可以使用普通列表这样做:
如果您有三个列表( a = [1,2,3]、b = [4,5,6]和c = [7,8,9] ),则可以获得第二个维度的[2,5,8] (例如,通过
list(zip(a,b,c))[1]编辑:
事实证明,在Numpy中,这很简单。根据this thread,您可以这样做:
Matrix[:,1]发布于 2016-05-08 08:07:24
切片是可行的:
a = np.zeros((10, 9, 3))
a[6, 2, 2] = 578
for x in a[6, :, 2]:
print(x)输出:
0.0
0.0
578.0
0.0
0.0
0.0
0.0
0.0
0.0发布于 2016-05-08 08:02:20
不确定这是不是你想要的。下面是演示:
In [1]: x = np.random.randint(0, 20, size=(4, 5, 3))
In [2]: x
Out[2]:
array([[[ 5, 13, 9],
[ 8, 16, 5],
[15, 17, 1],
[ 6, 14, 5],
[11, 13, 9]],
[[ 5, 8, 0],
[ 8, 15, 5],
[ 9, 2, 13],
[18, 4, 14],
[ 8, 3, 13]],
[[ 3, 7, 4],
[15, 11, 6],
[ 7, 8, 14],
[12, 8, 18],
[ 4, 2, 8]],
[[10, 1, 16],
[ 5, 2, 1],
[11, 12, 13],
[11, 9, 1],
[14, 5, 1]]])
In [4]: x[:, 2, :]
Out[4]:
array([[15, 17, 1],
[ 9, 2, 13],
[ 7, 8, 14],
[11, 12, 13]])https://stackoverflow.com/questions/37097207
复制相似问题