python - 从 3D 数组中获取 2D 索引?
问题描述
我有一个 numpy 数组(7 x 325 x 255)。这七个是来自图像的不同波段,而 325 和 448 是行和列(即像素)。X 是我的设置示例。
x = x = np.random.randint(5, size=(7,325,255))
我正在尝试使用 np.where() 从所有 7 个波段创建一个二维索引 (325,255),其中的值等于我的无数据参数,即 -9999。我的论点如下:
y = np.asarray(np.where(x == -9999))
但是,当我打印 y 的形状时,我得到以下结果,应该是 (325, 255):
(3, 580125)
关于如何解决这个问题的任何建议或想法?非常感谢!
解决方案
用于any
在波段上聚合。这会产生所需的二维布尔数组:
y = np.any(x == -9999, axis=0)
推荐阅读
- visual-studio - 无法使用 Visual Studio 访问 Azure SQL 数据库,但可以使用 SSMS
- javascript - 谷歌表格“转置(排序(转置”-as Script
- c++ - 编译器是否允许优化私有数据成员?
- jenkins - Jenkins Pipeline - 等待非作业项目(ComputedFolder,Multibranch Pipeline Project)
- java - Mockito - 模拟的静态方法总是返回 null
- image - 如何在listview颤动中显示来自firestore的图像数组?
- django - 从前端 django 编辑 .env 文件
- javascript - 我想将日期数据转换为日期?
- swift - Swift 中的切片功能?
- reactjs - React 表格重新渲染,在表格单元格中输入文本时失去焦点