gpt4 book ai didi

python - 如何快速屏蔽阵列中的不同切片?

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:40 24 4
gpt4 key购买 nike

我有一个 3d 数组,其中所有轴的长度都相同(例如 (5,5,5))。我需要屏蔽所有数组,并按照下面的代码保持数组中的某些切片不被屏蔽。我设法使用 for 循环完成了此操作,但我想知道是否有更快的解决方案。

array = np.reshape(np.array(np.random.rand(125)), (5,5,5))
array = ma.array(array, mask=True)
for i in range(array.shape[0]):
for j in range(array.shape[1]):
array[i, j, :].mask[i:j] = False

这允许我将这个数组与另一个相同大小的数组相加,同时忽略屏蔽值。

最佳答案

您可以使用广播一步创建整个 mask :

i, j, k = np.ogrid[:5, :5, :5] 
mask = (i>k) | (k>=j)

关于python - 如何快速屏蔽阵列中的不同切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280108/

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