首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用numpy Python在3D矩阵中打印特定列

如何使用numpy Python在3D矩阵中打印特定列
EN

Stack Overflow用户
提问于 2016-05-08 07:09:13
回答 3查看 2.4K关注 0票数 1

我在打印numpy 3D矩阵中的列时遇到了问题。以下是问题的简化版本:

代码语言:javascript
运行
复制
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]

如果你们能帮我的话我很感激。提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-08 07:45:30

不确定Numpy是否支持这种方法,但是您可以使用普通列表这样做:

如果您有三个列表( a = [1,2,3]b = [4,5,6]c = [7,8,9] ),则可以获得第二个维度的[2,5,8] (例如,通过

代码语言:javascript
运行
复制
list(zip(a,b,c))[1]

编辑:

事实证明,在Numpy中,这很简单。根据this thread,您可以这样做:

代码语言:javascript
运行
复制
Matrix[:,1]
票数 1
EN

Stack Overflow用户

发布于 2016-05-08 08:07:24

切片是可行的:

代码语言:javascript
运行
复制
a = np.zeros((10, 9, 3))
a[6, 2, 2] = 578
for x in a[6, :, 2]:
    print(x)

输出:

代码语言:javascript
运行
复制
0.0
0.0
578.0
0.0
0.0
0.0
0.0
0.0
0.0
票数 3
EN

Stack Overflow用户

发布于 2016-05-08 08:02:20

不确定这是不是你想要的。下面是演示:

代码语言:javascript
运行
复制
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]])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37097207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档