我有一个关于从数组中删除的问题。我有一个估计为 900^3 大小的 3-D numpy 数组(坐标为 z、y、x)。只有少数值是非零的,但它们具有非平凡的空间分布。我想删除该数组中只有零的所有二维切片。换句话说,我想要一个大小最小的数组,其中仍然包含所有相关数据。
我的尝试看起来像:
while np.all(a[0]==0):
a=np.delete(a,0,0)
while np.all(a[a.shape[0]-1]==0) and a.shape[0]>1:
a=np.delete(a,-1,0)
并且似乎适用于 z 方向。我怎样才能在其他两个方向上做同样的事情?还有可能有另一种更好的方法吗?
另一个想法是
tmp=np.delete(tmp,np.all(tmp==0,axis=1),1)
但是那个似乎只从一开始就起作用,并在最后省略了零。
是否有可能在 3D 空间中旋转阵列?