numpy 如何将3D数组的第一个轴索引到1D数组

k75qkfdt  于 2023-02-23  发布在  其他
关注(0)|答案(1)|浏览(132)

python和一般编码的新手...
我有一个形状为(62,200,400)的3D数组。我想创建一个新的1D数组,它只包含axis = 0的值,我相信这是原始3D数组中的62个元素。
我该怎么做呢?到目前为止,我只能通过使用size(62,0,0)创建一个新的3D数组。
谢谢!
这是我的代码发展到的程度

new_array = data[:,:0,:0]
oyxsuwqo

oyxsuwqo1#

在2D中更容易看到,看这个形状为(4,3)的数组:

import numpy as np

a = np.array([[ 1,  2,  3],
              [ 4,  5,  6],
              [ 7,  8,  9],
              [10, 11, 12]])

取切片a[:,0]将返回沿着轴0的1D数组:

>>> a[:,0]

array([ 1,  4,  7, 10])

切片a[:,1]也是如此:

>>> a[:,1]

array([ 2,  5,  8, 11])

切片a[:,2]

>>> a[:,2]

array([ 3,  6,  9, 12])

所以你不能说沿着轴0只有4个值,因为你可以看到,数组中存储的所有12个值沿轴0都可用。数组的shape描述的是它的轴的长度,而不是沿轴存储了多少值。
因此,如果你真的要在0轴上寻找4个值,你必须决定你想要哪一个切片。如果这不是你想要的,请细化你的问题。

相关问题