Python 如何使用numpy从二维三元组数组中的第一个三元组元素提取数组

Python 如何使用numpy从二维三元组数组中的第一个三元组元素提取数组,python,arrays,numpy,Python,Arrays,Numpy,我有一个数组的形状(480640,3),我想用numpy创建一个数组,由三元组中的所有第一个元素组成。我试过了 newArray=array[np.arange(array.shape[0]),np.arange(array.shape[1]),0] 但这也带来了这样的结果: 不能广播到单个形状 我明白为什么,如果这真的奏效,那也不是我想要的。我希望最终得到一个具有shape(480640)的数组,该命令将为我提供一个1d数组 那么,我怎样才能得到我想要的?我一直在浏览有关numpy的文档和教程

我有一个数组的形状
(480640,3)
,我想用numpy创建一个数组,由三元组中的所有第一个元素组成。我试过了

newArray=array[np.arange(array.shape[0]),np.arange(array.shape[1]),0]

但这也带来了这样的结果:

不能广播到单个形状

我明白为什么,如果这真的奏效,那也不是我想要的。我希望最终得到一个具有shape
(480640)
的数组,该命令将为我提供一个1d数组


那么,我怎样才能得到我想要的?我一直在浏览有关numpy的文档和教程,但是有太多的术语我不知道(我今天才开始使用numpy),以至于我不知道我需要做什么。

听起来你想沿着深度轴切片:

In [8]: a = np.ones((480,640,3))

In [9]: a[:,:,0]
Out[9]: 
array([[ 1.,  1.,  1., ...,  1.,  1.,  1.],
       [ 1.,  1.,  1., ...,  1.,  1.,  1.],
       [ 1.,  1.,  1., ...,  1.,  1.,  1.],
       ..., 
       [ 1.,  1.,  1., ...,  1.,  1.,  1.],
       [ 1.,  1.,  1., ...,  1.,  1.,  1.],
       [ 1.,  1.,  1., ...,  1.,  1.,  1.]])

In [10]: a[:,:,0].shape
Out[10]: (480, 640)

示例输入和输出请问您需要哪种类型的输入/输出?我不想打印整个阵列。。。我确实说了它返回的错误。@Johonn您可以用更小的数组来说明输入和输出,比如shape
(5,6,3)