numpy三维数组,操作完-1后,第二维度丢失问题。

我认为输出应该是 x.shape=[2,4,3], y.shape=[2,1,3]. 但是实际输出是 x.shape=[2,4,3], y.shape=[2,3]
请教大家,y的第二个维度怎么没有了?谢谢

import numpy as np
a = np.random.rand(2,5,3)
print(a)
x = a[:,:-1,:]
y = a[:,-1,:]
print(x.shape)
print(y.shape)

第5行改为y = a[:,4:5,:] 试试。

修改如下:

import numpy as np
a = np.random.rand(2,5,3)
print(a)
x = a[:,:-1,:]
# https://blog.csdn.net/qiqicos/article/details/78971406
# https://www.zhihu.com/question/345304257/answer/2925317518
# https://blog.csdn.net/zgcr654321/article/details/88015849
y = a[:,4:5,:]
print(x.shape)
print(y.shape)
print(x)
print(y)
 

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^