从3d numpy数组中删除2d切片[已关闭]

zbwhf8kr  于 2023-05-29  发布在  其他
关注(0)|答案(1)|浏览(110)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
两年前关闭。
这篇文章是编辑并提交审查4天前.
Improve this question
我有一个3d np.数组,形状看起来像这样:

import numpy as np

a = np.zeros([112, 200, 200])
indexes = [0, 1, 110, 111]

使用arr.shape: (112, 200, 200)和索引列表:indexes = [0, 1, 111, 111]。我想去掉(200, 200)中带有列表中的索引的切片,这样最终的形状看起来像这样:arr.shape: (108, 200, 200)。我尝试删除arr[index,:,:],但实际上不能使用它来删除这些切片。

5fjcxozz

5fjcxozz1#

可以使用numpy.delete从数组中删除特定元素。在这种情况下,您可以将索引和axis=0传递给它
注意:索引112不在数组中,因为数组是零索引的。我把它改成了111,以避免警告:

import numpy as np

a = np.zeros([112, 200, 200])
indexes = [0, 1, 110, 111]

b = np.delete(a, indexes, axis=0)
b.shape
# (108, 200, 200)

相关问题