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)