python和一般编码的新手...我有一个形状为(62,200,400)的3D数组。我想创建一个新的1D数组,它只包含axis = 0的值,我相信这是原始3D数组中的62个元素。我该怎么做呢?到目前为止,我只能通过使用size(62,0,0)创建一个新的3D数组。谢谢!这是我的代码发展到的程度
new_array = data[:,:0,:0]
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]
>>> a[:,0] array([ 1, 4, 7, 10])
切片a[:,1]也是如此:
a[:,1]
>>> a[:,1] array([ 2, 5, 8, 11])
切片a[:,2]:
a[:,2]
>>> a[:,2] array([ 3, 6, 9, 12])
所以你不能说沿着轴0只有4个值,因为你可以看到,数组中存储的所有12个值沿轴0都可用。数组的shape描述的是它的轴的长度,而不是沿轴存储了多少值。因此,如果你真的要在0轴上寻找4个值,你必须决定你想要哪一个切片。如果这不是你想要的,请细化你的问题。
shape
1条答案
按热度按时间oyxsuwqo1#
在2D中更容易看到,看这个形状为(4,3)的数组:
取切片
a[:,0]
将返回沿着轴0的1D数组:切片
a[:,1]
也是如此:切片
a[:,2]
:所以你不能说沿着轴0只有4个值,因为你可以看到,数组中存储的所有12个值沿轴0都可用。数组的
shape
描述的是它的轴的长度,而不是沿轴存储了多少值。因此,如果你真的要在0轴上寻找4个值,你必须决定你想要哪一个切片。如果这不是你想要的,请细化你的问题。