假设我有一个3d Numpy数组:
array([[[0, 1, 2],
[0, 1, 2],
[0, 2, 5]]])
是否可以从所有行(最里面的行)中删除第一个条目。在这种情况下,每行将删除0。
为我们提供以下输出:
[[[1, 2],
[1, 2],
[2, 5]]]
答案 0 :(得分:2)
x
array([[[0, 1, 2],
[0, 1, 2],
[0, 2, 5]]])
x.shape
# (1, 3, 3)
您可以使用Ellipsis
(...
)在所有最外轴上进行选择,并使用1:
从每一行中切出第一个值。
x[..., 1:]
array([[[1, 2],
[1, 2],
[2, 5]]])
x[..., 1:].shape
# (1, 3, 2)
答案 1 :(得分:1)
为补充@coldspeed的响应,slicing in numpy
is very powerful and can be done in a variety of ways including with the colon operator :
in the index,即
print(x[:,:,1:])
# array([[[1, 2],
# [1, 2],
# [2, 5]]])
等效于省略号的既定用法。