Python 从三维numpy阵列中删除二维切片
我有一个3d np.array,形状如下:Python 从三维numpy阵列中删除二维切片,python,arrays,numpy,Python,Arrays,Numpy,我有一个3d np.array,形状如下: arr.shape:(112200200)和索引列表:index=[0,111112]。我想要的是从列表中去掉带有索引的(200200),这样最终的形状将如下所示:arr.shape:(108200200)。我尝试过删除arr[index,:,:],但实际上无法使用它删除那些切片。您可以使用它从数组中删除特定元素。在这种情况下,您可以传递索引和轴=0 注意:索引112不在数组中,因为数组的索引为零。我将其更改为111以避免警告: import nump
arr.shape:(112200200)
和索引列表:index=[0,111112]
。我想要的是从列表中去掉带有索引的(200200)
,这样最终的形状将如下所示:arr.shape:(108200200)
。我尝试过删除arr[index,:,:]
,但实际上无法使用它删除那些切片。您可以使用它从数组中删除特定元素。在这种情况下,您可以传递索引和轴=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)
只要您想省略前两个和最后两个“平面”,就可以切片
arr1=arr[2:-2,:,:]
。