gpt4 book ai didi

python - 在 numpy 中用 2d 掩码屏蔽 3d 数组

转载 作者:太空狗 更新时间:2023-10-29 20:37:48 25 4
gpt4 key购买 nike

我有一个 3 维数组,我想使用一个与 3 维数组最右边的两个维度相同的 2 维数组来屏蔽它。有没有一种方法可以在不编写以下循环的情况下执行此操作?

import numpy as np

nx = 2
nt = 4

field3d = np.random.rand(nt, nx, nx)
field2d = np.random.rand(nx, nx)

field3d_mask = np.zeros(field3d.shape, dtype=bool)

for t in range(nt):
field3d_mask[t,:,:] = field2d > 0.3

field3d = np.ma.array(field3d, mask=field3d_mask)

print field2d
print field3d

最佳答案

numpy.broadcast_to (Numpy 1.10.0 中的新功能):

field3d_mask = np.broadcast_to(field2d > 0.3, field3d.shape)

关于python - 在 numpy 中用 2d 掩码屏蔽 3d 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37682284/

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