我正在尝试完成一项简单的任务,但找不到快速的解决方案。
我有两个相同大小的二维数组。一个数组是仅包含 0 或 1 的掩码数组;我想在另一个数组中保留掩码数组索引为 1 的值。
掩码数组可能如下所示:
mask = [[0,0,0,0],[0,0,1,1],[0,0,0,1],[0,0,0,1]]
然后说我有第二个数组:
testarr = [[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
我想从 testarr 中提取值 [2,2,3,4]。
感谢您的帮助!
请您参考如下方法:
如果将 mask 转换为 bool 值,则可以使用 numpy 来执行此操作。首先使用 maskl = np.array(mask, dtype=bool) 和 estarray = np.array(estarray) 将您的数组转换为 numpy 数组。然后:
>>> estarr[mask]
array([2, 2, 3, 4])
