我有一個關於從數組中刪除的問題。我有一個三維numpy數組(座標是z,y,x),估計大小爲900^3。只有少數值非零,但它們具有非平凡的空間分佈。我想刪除該數組中只有零的所有2D切片。換句話說,我想要一個最小大小的數組,其中仍然包含所有相關數據。從Python中的Numpy數組中刪除零
我的嘗試是這樣的:
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空間中旋轉陣列?
如果你想在3d空間中旋轉數組,你可以使用numpy.roll。 – ebarr