如何利用p×1逻辑数组筛选n×m×p型3D矩阵的指定页?
提取3D矩阵中逻辑数组指定的页
Matlab 实现
- 直接通过逻辑索引筛选第三维度的页:
筛选后% 原3D矩阵为A,逻辑数组为logical_idx(长度p,元素为0/1) new_A = A(:,:,logical_idx);new_A的维度为n×m×k,其中k是logical_idx中值为1的元素数量。
Python(NumPy)实现
- 将0/1逻辑数组转为布尔类型后,用布尔索引筛选:
最终import numpy as np # 原3D矩阵A shape=(n,m,p),逻辑数组logical_idx shape=(p,) bool_idx = logical_idx.astype(bool) new_A = A[:,:,bool_idx]new_A的shape为(n,m,k),k为logical_idx中1的数量。
内容的提问来源于stack exchange,提问作者lisse
相关产品推荐
相关产品推荐

