gpt4 book ai didi

python - 在 Python 中从 Numpy 数组中删除零

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:09 32 4
gpt4 key购买 nike

我有一个关于从数组中删除的问题。我有一个 3-D numpy 数组(坐标为 z、y、x),估计大小为 900^3。只有少数值不为零,但它们具有非平凡的空间分布。我想删除该数组中只有零的所有二维切片。换句话说,我想要一个最小大小的数组,其中仍然包含所有相关数据。

我的尝试看起来像:

    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 空间中旋转数组?

最佳答案

您可以使用 transpose重新排列你的轴,但听起来你可能真的在寻找 sparse array

关于python - 在 Python 中从 Numpy 数组中删除零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644852/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com